![](/img/trans.png)
[英]How to identify mail addresses of specific domain using Regular expressions?
[英]Using regular expressions to identify nodelists
以下信息应分为两个数组:
期望的结果是两个数组,其中包含所有列出的数字[089]和[120-123,215](甚至更好的是120,121,122,123而不是120-123,这是可选的)。
其他应解析的示例:
所有这些都将导致一个由两个元素组成的数组(第一个是foo,第二个是bar),具有单个条目(例如123或145)或范围(例如133,370,390-391或121,303)。
我始终需要两个数组,以轻松确定该数字属于foo还是bar。
限制
到目前为止,我尝试了以下正则表达式: \\d{3}|foo\\d{3}|bar\\d{3}|\\d{3}-\\d{3}
。 但是,在php中使用preg_grep时,我没有得到想要的结果。
^(?!foo\d{3},bar\d{3})(?:foo(\[(?:\d{3}(?:-\d{3})?,?)+\]|\d{3}))?,?(?:bar(\[(?:\d{3}(?:-\d{3})?,?)+\]|\d{3}))?$
现在在匹配结果中,第一组是foo
的数字,第二组是bar
的数字。
说明:
(?:\\d{3}(?:-\\d{3})?
- 三位数或三位数 , 破折号 , 三位数 (?:\\d{3}(?:-\\d{3})?,?)+
-以上重复多次,可能用逗号分隔 \\[(?:\\d{3}(?:-\\d{3})?,?)+\\]
-相同,但放在方括号中 |\\d{3}
-或者,仅三位数 (?:foo(\\[(?:\\d{3}(?:-\\d{3})?,?)+\\]|\\d{3}))?
上面的内容,但在foo
之前加上?
,?
-可选的逗号分隔foo和bar (?!foo\\d{3},bar\\d{3})
-禁止使用诸如foo123,bar456之类的东西 ^$
-从头到尾匹配
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.