2013-05-25 116 views

回答

3

當在字符串NASA上使用時,您的正則表達式也將匹配子字符串,例如NASA

您將需要使用word boundaries來防止這種情況發生。然後,使用負lookahead assertion排除SN

\b(?!SN)[A-Z]{2}\b 

編輯:哦,那Flex的 :)

好,POSIX正則表達式引擎不知道lookarounds。你需要拼出來:

\b(S[A-MO-Z]|[A-RT-Z]N|[A-MO-RT-Z]{2})\b 
+0

該表達式給出了柔性無法識別的規則,我不知道爲什麼,我是新在這個... –

+0

@JoséRicardoRibeiro:嗯,[根據文檔](http://livedocs.adobe.com/flex/3/html/help.html?content=12_Using_Regular_Expressions_03.html),Flex 3整合了ECMA-262第3版規定的ECMAScript正則表達式標準,並且絕對支持單詞邊界和前瞻。你正在使用哪個版本? –

+0

對不起,它的不是Adobe Flex,它的Flex詞法分析器,http://flex.sourceforge.net我應該提到那個.. –