Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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
Php 正则表达式匹配字符串的必需部分和可选部分_Php_Regex - Fatal编程技术网

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

Php 正则表达式匹配字符串的必需部分和可选部分,php,regex,Php,Regex,我想对uri字符串进行preg_匹配,该字符串包含可选的和必需的部分,但我想不出来 要匹配的示例: /segment/(required)/segment(/optional) 我希望下面的两个字符串与上面的匹配 /segment/required/segment/optional 及 我知道策略是不为我写,但我无法理解这一点,所以我想我至少应该问一下。问号使得正则表达式中前面的标记是可选的。例如:colou?r既匹配颜色又匹配颜色 您可以通过使用圆括号将多个标记组合在一起,并在结束括号后放

我想对uri字符串进行preg_匹配,该字符串包含可选的和必需的部分,但我想不出来

要匹配的示例:

/segment/(required)/segment(/optional)
我希望下面的两个字符串与上面的匹配

/segment/required/segment/optional


我知道策略是不为我写,但我无法理解这一点,所以我想我至少应该问一下。

问号使得正则表达式中前面的标记是可选的。例如:
colou?r
既匹配
颜色
又匹配
颜色

您可以通过使用圆括号将多个标记组合在一起,并在结束括号后放置问号,从而使多个标记成为可选标记。例如:
11月(余烬)?
将匹配
11月
11月

通过包含多个问号,可以编写一个正则表达式来匹配多个备选方案
Feb(ruary)
23(rd)
匹配
2月23日
2月23日
Feb 23日
Feb 23日


来源:

谢谢,最简单的答案会让事情变得顺理成章,但我无法将我想要的内容放入搜索词中
/segment/reguired/segment