【发布时间】:2015-11-09 09:41:51
【问题描述】:
我是正则表达式世界的新手,我需要捕获一些不同类型的字符串。
顺便请建议更优雅的方式来捕获这些字符串。 n = 任意正数(不相同)
|n||0||0||0||0|
|n||n||0||0||0|
|n||n||n||0||0|
|n||n||n||n||0|
|n||n||n||n||n|
我已经尝试使用这样的正则表达式来捕获第一个和第二个类型的字符串
^\|([1-9]+)\|(?:([1-9]+)\|){4}|(?:(0)\|){4}$
零应该被视为单独的字符, 我需要捕获每个数字或零
现在的问题是它只捕获第一个匹配的字符和最后一个
但不捕获其他数字
请帮助这个正则表达式,如果有人提供更优雅的方式会很棒(最后,我必须编写 4 个 ors 语句来捕获我的字符串类型)
谢谢
【问题讨论】:
标签: php regex preg-match regex-lookarounds