【发布时间】:2010-01-06 20:36:28
【问题描述】:
我正在尝试匹配所有内容,但是 [ 和 ] 之间的所有内容。
[ 和 ] 之间的一切都是
\[.+\]
一切,但 [ 和 ] 之间的一切都是
[^(\[.+\])]+
搜索文本是
valid[REGEX_EMAIL|REGEX_PASSWORD|REGEX_TEST]
它匹配“有效”和“REGEX_EMAIL|REGEX_PASSWORD|REGEX_TEST”。
它应该匹配“有效”,但不匹配“REGEX_EMAIL|REGEX_PASSWORD|REGEX_TEST”。
如何解决?
我希望我的 php 验证类和 CodeIgniter 一样...
【问题讨论】:
-
方括号可以嵌套吗?如果没有,你最好把它们去掉,然后匹配剩下的。
-
由于是PCRE相关的,可以使用
\[[^][]*](*SKIP)(*F)|(?:[^[]|\[(?![^][]*]))+(demo)。
标签: php regex codeigniter