【发布时间】:2011-03-11 18:22:33
【问题描述】:
例如有一个源字符串:
__aaXXccYYeeXX_ZZkkYYmmXX_ZZnnXXooYYuuXX_ZZvv..
我怎样才能找到所有:aaXX*YY*ZZ
__ aaXX cc YY eeXX_ ZZ kkYYmmXX_ZZnnXXooYYuuXX_ZZvv..
__ aaXX cc YY eeXX_ZZkkYYmmXX_ ZZ nnXXooYYuuXX_ZZvv..
__ aaXX cc YY eeXX_ZZkkYYmmXX_ZZnnXXooYYuuXX_ ZZ vv..
__ aaXX ccYYeeXX_ZZkk YY mmXX_ ZZ nnXXooYYuuXX_ZZvv..
__ aaXX ccYYeeXX_ZZkk YY mmXX_ZZnnXXooYYuuXX_ ZZ vv..
__ aaXX ccYYeeXX_ZZkkYYmmXX_ZZnnXXoo YY uuXX_ ZZ vv..
问题在于 PHP preg 不支持 (?
因此需要解决方案而不使用可变长度的后向断言。
谢谢!
【问题讨论】:
-
我正在阅读的文档说 PHP 确实支持lookbehind。请发布您的代码。
-
@Cfreak - 它支持后视,但不支持可变长度。您可以在模式之前查找“foo”,但不能查找 [a-z]{2,3}; @Dmitrij,但为什么在这种情况下你需要向后看?
标签: php regex preg-match pcre