正则表达式从正则表达式代码中排除1个单词

时间:2010-04-07 18:16:01

标签: php regex

我需要一名正则表达式专家来帮助解决这个问题。我在这里找到的例子和网络似乎无法正确。我正在使用PHP,我有以下正则表达式

/([^a-zA-Z0-9])GC([A-Z0-9]+)/

这匹配GCABCD GC123A等项目。我需要做的是从中排除GCSTATS。所以基本上我希望它能像它一样工作,除了忽略正则表达式中的GCSTATS。

3 个答案:

答案 0 :(得分:9)

尝试在GC之后添加:(?!STATS)。这是一个负面的前瞻性结构。 所以你的正则表达式应该是

/([^a-zA-Z0-9]*)GC(?!STATS)([A-Z0-9]+)/

P.S。或者尝试 ?<!

答案 1 :(得分:0)

Regex assertions就是您所需要的。如果搜索文本以GC ...

开头,这也适用
/(?<![A-Za-z0-9])GC(?!STATS)[A-Z0-9]+/

答案 2 :(得分:0)

看看是否有效:

([^a-zA-Z0-9])GC((?!STATS)[A-Z0-9]+)

有关详情,请访问lookaround