2013-05-25 2 views

ответ

3

Ваше регулярное выражение также будет соответствовать подстрокам, например NA и SA при использовании на строке NASA.

Чтобы предотвратить это, вам необходимо использовать word boundaries. Затем, используйте отрицательное lookahead assertion исключить SN:

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

Edit: О, что 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 содержит стандарт регулярных выражений ECMAScript, указанный в ECMA-262 edition 3, и который определенно поддерживает слово границ и взглядов. Какую версию вы используете? –

+0

Извините, его не adobe flex, его Flex Lexical Analyzer, http://flex.sourceforge.net Я бы сказал, что .. –

Смежные вопросы