一切,但[和]之间的一切

Del*_*ens 2 php regex codeigniter

我试图匹配所有东西,但[和]之间的所有东西.

[和]之间的一切都是

\[.+\]
Run Code Online (Sandbox Code Playgroud)

一切,但[和]之间的一切都是

[^(\[.+\])]+
Run Code Online (Sandbox Code Playgroud)

搜索文本是

valid[REGEX_EMAIL|REGEX_PASSWORD|REGEX_TEST]
Run Code Online (Sandbox Code Playgroud)

它匹配"valid"和"REGEX_EMAIL | REGEX_PASSWORD | REGEX_TEST".

它应该匹配"有效",但不匹配"REGEX_EMAIL | REGEX_PASSWORD | REGEX_TEST".

怎么解决?

我想我的php验证类就像CodeIgniter一样......

Pow*_*ord 5

[^(\[.+\])]+ 并不意味着你认为它意味着什么.

从字面上看,它意味着"匹配除了这些()[.+]中的任何一个以外的任何字符一次或多次."

[]是一个字符集,匹配该集合中的一个字符(如果它以a开头,则不匹配它们^)