【发布时间】:2012-11-11 07:34:29
【问题描述】:
很抱歉标题不好,但这是一个非常笼统的问题
我必须匹配这个模式
;AAAAAAA(BBBBBB,CCCCC,DDDDDD)
- AAAAA = 所有以“;”开头的字符到“(”(两者;(不包括)
- BBBBB = 从 "(" 到 "," 开始的所有字符(两者都是(,不包括在内)
- CCCCC = 从 "," 到 "," 的所有字符(都 , 不包括在内)
- DDDDD = 从 "," 到 ")" 开始的所有字符(不包括 ,))
“x 和 y 之间的所有字符”是一个让我每次都想死的问题
:(
我正在使用 PHP,我必须匹配所有出现的这种模式 (preg_match_all),遗憾的是,它也可以在多行上
提前谢谢你!
【问题讨论】:
-
所以括号内总是只有 3 个元素?
-
它与贪婪有什么关系?
-
你试过什么正则表达式?是匹配太多还是太少? * 另请参阅 Open source RegexBuddy alternatives 和 Online regex testing 了解一些有用的工具,或参阅 RegExp.info 了解更好的教程。
-
@zerkms 是,如果有多次出现,
B无论如何都是。 -
@zerkms 不是使用否定集。但使用否定集来避免贪婪。后者似乎是首选推荐,而使用否定字符类在正则表达式的新手中似乎非常陌生。