设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2740|回复: 4
打印 上一主题 下一主题

[已经解决] 关于正则的教程里的小实例问题,没太明白。

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14591
在线时间
2194 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-2-23 21:38:00 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. p "\n".gsub(/^/,"o") #=> "o\n"

RUBY 代码复制
  1. p "\n".gsub(/$/,"o") #=> "o\no"

代码如上,解释
我段前,段后给我弄蒙了。
^:行首,匹配输入字符串头部或者换行符\n之后的位置。
"\n"  匹配输入字符串头部 是不是应该是这样 “o\n”
                    或者 换行符\n之后的位置"\no"这样吗?
                    而答案是“o\n”这一种

$:行尾,匹配输入字符串尾部或者换行符\n之前的位置。
"\n"         匹配输入字符串尾部  “\no”
               或者换行符\n之前的位置“o\n”
               
我理解成这个样子了,不知道错在哪里,请帮忙解释下

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

2
发表于 2019-2-23 22:26:15 | 只看该作者
本帖最后由 KB.Driver 于 2019-2-23 22:29 编辑

^是匹配行首,但是如果换行符\n后面就没了 也就是没有下一行 那么那个地方就不算下一行行首 而是这一行行尾
$是匹配行尾没错,换行符\n前自然算作行尾 字符串本身的末尾也能算作行尾
但是gsub是对所有符合条件的字符串都替换,就有了\n前 与字符串结束位置这两个匹配处
如果把gsub换成sub的话结果就是”o\n”了(只替换一次)

点评

能用具体的草图,表达下吗?脑子想不明白  发表于 2019-2-24 14:34
用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14591
在线时间
2194 小时
注册时间
2019-1-24
帖子
1123

R考场第七期纪念奖

3
 楼主| 发表于 2019-2-24 14:47:29 | 只看该作者
本帖最后由 miantouchi 于 2019-2-24 14:49 编辑

文字我是理解不上去了,只能画图了,大伙帮我看看!

我理解的示意图,不知道错在那.png (68.75 KB, 下载次数: 20)

我理解的示意图,不知道错在那.png

图2.png (103.37 KB, 下载次数: 22)

图2.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
10
星屑
39587
在线时间
1920 小时
注册时间
2010-11-14
帖子
3320

R考场第七期纪念奖

4
发表于 2019-2-24 15:30:15 | 只看该作者
本帖最后由 KB.Driver 于 2019-2-24 15:33 编辑
miantouchi 发表于 2019-2-24 14:47
文字我是理解不上去了,只能画图了,大伙帮我看看!


你把换行符手动换行不就理解了

“\n”就是下面这个两行的字符串


第二行什么都没有,换行符是在第一行行尾的
所以行首有第一个“后面(第一行行首)和第二个”前面(第二行行首 虽然是空行)
而行尾是第一行的换行符后面和第二个”前面,因为第二行是空的所以两处作为一处来处理

有什么不明白的自己安装一个ruby解释器来玩玩

你看 结果是一样的

评分

参与人数 1星屑 +30 收起 理由
VIPArcher + 30 塞糖

查看全部评分

用头画头像,用脚写脚本
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-11-16 22:55

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表