Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
ruby正则表达式的含义_Ruby_Expression - Fatal编程技术网

ruby正则表达式的含义

ruby正则表达式的含义,ruby,expression,Ruby,Expression,在上面使用Ruby正则表达式的代码行中,变量“number”的值为“12345”。但是,我不清楚上面使用的~/./([0-9]+)/和$~[1]的含义。你能帮我解释一下吗。非常感谢。根据Ruby Doc的说法,$~全局变量相当于最后一个匹配方法 前一行,=~/.\/([0-9]+)/检查存储在string中的字符串与右侧的正则表达式之间是否匹配=~将返回该字符串中有匹配项的数字位置,如果没有匹配项,则返回nil。在这里发布问题之前,您应该阅读ruby中regexs的最低要求,但这是为了让您开始:

在上面使用Ruby正则表达式的代码行中,变量“number”的值为“12345”。但是,我不清楚上面使用的~/./([0-9]+)/和$~[1]的含义。你能帮我解释一下吗。非常感谢。

根据Ruby Doc的说法,
$~
全局变量相当于
最后一个匹配方法


前一行,
=~/.\/([0-9]+)/
检查存储在
string
中的字符串与右侧的正则表达式之间是否匹配
=~
将返回该字符串中有匹配项的数字位置,如果没有匹配项,则返回
nil

在这里发布问题之前,您应该阅读ruby中regexs的最低要求,但这是为了让您开始:

string=http://abc.com.vn/12345
string =~ /.*\/([0-9]+)/
number = $~[1]

这不是一个有效的Ruby表达式。我想第一行缺少引号了吧?正则表达式看起来很神秘,但一般来说很容易理解——你需要几个小时来掌握它们,而且它们对于各种工作都很有用,不仅仅是Ruby
=~ is the match operator similar to the match operator in perl
$~ is an array holding the various elements of the match