这个正则表达式的含义是什么?

时间:2011-02-18 20:22:37

标签: regex

/\s/g

上述正则表达式的含义是什么?

1 个答案:

答案 0 :(得分:10)

这意味着搜索空白字符。 /g在单个正则表达式搜索中没有任何意义。

编辑:您想要解剖。到此为止。

/

启动正则表达式。

\

反斜杠用于转义特殊字符(它们本身会改变正则表达式的运行方式,就像+用于表示“匹配我之前的一个或多个字符” “)或开始元字符。在这种情况下,它用于启动元字符:

s

加上反斜杠,s表示“匹配空白字符”。空格字符是空格,制表符,换行符和其他此类字符。

/

结束正则表达式。还是做到了?

g

嘿,这里发生了什么,CanSpice?我以为你说/结束了正则表达式?善良的读者,这就是所谓的“正则表达式修饰符”。它意味着“全局搜索”,并修改正则表达式的行为。例如,在Perl中,它意味着“存储匹配的位置,如果再次运行匹配则再次从该位置开始”,这样您就可以执行以下操作:

my $x = "cat dog house";
while ($x =~ /(\w+)/g) {
    print "Word is $1, ends at position ", pos $x, "\n";
}

...打印出来:

Word is cat, ends at position 3
Word is dog, ends at position 7
Word is house, ends at position 13

有关详情,请参阅this tutorial