需要正则表达式匹配和字符串的可选部分

时间:2013-03-07 19:23:16

标签: php regex

我想在带有可选和必需部分的uri字符串上进行preg_match,但我无法理解。

要匹配的示例:

/segment/(required)/segment(/optional)

我希望下面的两个字符串与上面的

匹配
/segment/required/segment/optional

/segment/reguired/segment

我知道我的政策是不为我写信,但我想不出来,所以以为我至少会问。

1 个答案:

答案 0 :(得分:24)

问号使正则表达式中的前一个标记可选。例如:colou?r匹配colourcolor

您可以使用圆括号将它们组合在一起,并在结束括号后面放置问号,从而使多个标记可选。例如:Nov(ember)?将匹配NovNovember

您可以通过包含多个问号来编写与许多替代方案匹配的正则表达式。 Feb(ruary)? 23(rd)?匹配February 23rdFebruary 23Feb 23rdFeb 23

来源:http://www.regular-expressions.info/optional.html