2010-04-07 122 views
4

我需要一個正則表達式專家來幫助解決這個問題。我在這裏找到的示例和網絡似乎無法正確使用。我使用PHP和我有以下的正則表達式正則表達式從正則表達式中排除1個字

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

這符合像GCABCD GC123A等物品是什麼,我需要做的就是排除這種GCSTATS。所以基本上我希望它能像它一樣工作,除了在正則表達式中忽略GCSTATS。

+0

你的正則表達式不工作,如果搜索文本從GC開始... – OIS 2010-04-07 18:34:40

回答

8

嘗試在GC之後添加:(?!STATS)。這是一個負面的前瞻性建設。 所以,你的正則表達式應該是

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

附:或嘗試?<!

+0

這樣做了,謝謝! – 2010-04-07 18:32:57

0

Regex assertions是你所需要的。這也適用,如果搜索文本與GC開頭...

/(?<![A-Za-z0-9])GC(?!STATS)[A-Z0-9]+/ 
0

見,如果這個工程:

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

更多信息,請lookaround