PHP正则表达式与撇号

时间:2013-03-14 20:57:38

标签: php regex

我正在尝试在文本中搜索格式[number].word word word的字符串, 例如:1.Test number one 模式我正在使用$pattern = '~\d+[.][\s]*[A-Z]{1}[\w\d\s]+~',但问题是模式找不到带有撇号的字符串,例如5.That's a valid string 我也尝试使用$pattern = '~\d+[.][\s]*[A-Z]{1}[\w|\d|\s|\']+~',但它也不起作用。

如何修复正则表达式,以便它还会检测带有撇号的字符串?

谢谢!

1 个答案:

答案 0 :(得分:1)

使用以下正则表达式:

/^\d+\.\s*(?:[\w']+ *)+$/

现场演示:http://www.rubular.com/r/0CBEb8jbnK

说明:

^  -> Start of match
$  -> End of match
?: -> Non capturing group

PS:如果您的正则表达式字符串使用单引号,则可能需要在PHP引号中转义单引号。