В моих последних вещах, чтобы сделать, я застрял в выяснении регулярного выражения для зарезервированных слов, как IF(foo, bar)
, ELSE
, ENDIF
Regex для обнаружения слов + скобки
Так что должно быть точным регулярным выражение для таких вещей, как:»
IF(?a , <, 4) // do some things
ELSE // do some things
т.д.
мне нужно, чтобы быть в состоянии найти слова в начале строки, и она должна быть в состоянии обнаружить те только положить в начале, таким образом, не должны быть включены строки, как это:
//somethings are done here then IF(foo, bar)
Я пытался в http://www.regexr.com/ использовать: /^IF\((\w)\)/
для поиска для IF() в строках, но не в состоянии обнаружить строку IF(). Что-то не так с выражением?
Спасибо!
Проблема с вашим регулярным выражением заключается в том, что '\ w' ожидает хотя бы одно слово, поэтому вам, вероятно, следует попробовать' \ w? ', Что сделает слово необязательным. Вы пытаетесь создать какой-то механизм шаблонов здесь? Может быть, было бы лучше использовать что-то существующее для этого ... –
своего рода механизм формулы, который будет анализировать данную формулу пользователем. Я использовал^IF \ ((. *) \) \: Вместо этого и добавил разделители, чтобы игнорировать дополнительные шаблоны IF() –
Ну, может быть, вы могли бы использовать существующий интерпретатор скриптов для этого и просто вставить в него вход пользователя. В зависимости от вашего варианта использования, но делать калькулятор формулы с регулярным выражением, вероятно, будет сложно. –