2013-07-17 3 views
0

Я использую AS3, но молчащий сбой, вероятно, связан с самим выражением.Регулярно сбой в AS3

/(\w*'?\w*'?)||([,".-])/g 

В Sublime Text 2, используя это регулярное выражение подчеркивает именно то, что я хочу (я запускаю его без слэша и г). Желаемые совпадения - это в основном любое слово, слово с апострофом в нем (или в конце) или простая пунктуация (запятые, двойные кавычки, периоды и дефисы).

При работе в AS3, похоже, задыхается. Он либо просто соответствует первому слову, с которым он сталкивается (даже когда я указал глобальный индикатор), либо просто игнорирует регулярное выражение пунктуации.

Может ли кто-нибудь увидеть что-то не так с этим регулярным выражением? Заставляет ли AS3 работать с || операторами в регулярном выражении?

ответ

1

Нет || Оператор в регулярном выражении |. || будет соответствовать пустой строке, таким образом, не будет пытаться соответствовать чему-либо еще.

Вы можете попробовать выражение, как это вместо:

\w+(?:'\w+)?'?|[,".-] 
+0

Вы правы о '' || но я стараюсь с одним раньше, и это также не удалось. К счастью, ваше замещающее выражение работает, поэтому определенно что-то (кроме двойной трубы) неправильно с моим. Я дам вам ответ, но если вы можете догадаться о том, что не так с моим, я тоже брошу вас вверх. Не то, что вам нужно: -s – shennan

+0

@shennan, '\ w * '? \ W *'?' Также соответствует пустой строке. Я предполагаю, что это другая проблема. – Qtax

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