
正则表达式
|
111
preg_match("/([0-9]+)/", "You have 42 magic beans", $captured);
//
返回
true
并且填充
$captured
数组的第
0
个元素被设置为匹配的整个字符串,第一个元素是与子模式匹配的子字符串
(如果有第一个元素的话),第二个元素是与第二个子模式匹配的子字符串,以此类推。
分隔符
Perl
样式的正则表达式的匹配模式类似
Perl
语法,意味着每种模式都必须被包含在一对
分隔符中。传统上,使用正斜杠(
/
)字符,例如,
/
pattern
/
。但在实际中,除反斜杠(
\
)外 ,
任何非字母数字字符都可以被当作分隔符。字符串中如果包含斜杠,例如文件名,此时
这种功能将变得非常有用。例如在下面的样例中,两种功能是一样的 :
preg_match("/\/usr\/local\//", "/usr/local/bin/perl"); //
返回
true
preg_match("#/usr/local/#", "/usr/local/bin/perl"); //
返回
true
小括号(
()
)、大括号(
{}
)、中括号(
[]
)、尖括号(
<>
)等可以作为分隔符 :
preg_match("{/usr/local/}", "/usr/local/bin/perl"); //
返回
true
在本章后面的“后缀选项”小节中,讨论了单字符的修饰符。可以把它放在结束分隔符
的后面,以改变正则表达式引擎的行为。例如,一个很有用的字符
x
,它可以使正则表
达式引擎忽略空格,而 ...