【发布时间】:2018-05-09 16:37:58
【问题描述】:
我不明白条件正则表达式。
使用 preg_match
我试着得到
- 总是 4 个匹配项
- 中间有一个可选的破折号
- 最后有一个可选的int
示例:
aaa-bbb-ccc-1
“aaa”应该是匹配[1]
“bbb”应该是匹配[2]
“ccc”应该是匹配[3]
“1”应该是匹配[4]
但是在 bbb 中可以有一个可选的破折号。最后一个也是可选的。
铁。
aaa-bbb-bbb-ccc
“aaa”应该是匹配[1]
“bbb-bbb”应该是匹配[2]
“ccc”应该是匹配[3]
"" 应该是匹配项[4]
到目前为止我得到了什么:
^(\w+)-(\w+)-(\w+)-(\d)$
这对 4 个组很简单。
1-3 应为字母、数字、下划线。
4 应为数字。
但我不知道如何使用条件(http://php.net/manual/de/regexp.reference.conditional.php)。
在线测试:https://regex101.com/r/Ln3f3I/2
感谢您的帮助 /棉花
【问题讨论】:
标签: php regex conditional