Я расширяю Prism с помощью специального языка, и я хочу выделить типы (int, float, bool).Призма: типы совпадающих слов не начинаются с точки или: символ
Я хочу сопоставить строки, которые не начинаются с точки или символа a:.
Я уже пробовал только с регулярным выражением, но не смог заставить его работать, поэтому я, вероятно, должен использовать Prism's lookbehind parameter, но у меня возникают проблемы с этой работой.
float JsValue.float
float JsValue:float(float testFloat)
int JsValue.int
int JsValue:int(int testInt)
Регулярное выражение ниже отражает все, что я не хочу.
/\b(int|bool|float)\b/
Регулярное выражение ниже (спасибо @anubhava) фиксирует то, что я хочу, но и захватывает "(" символ после имени функции
/(?:^|[^:.])\b(int|bool|float)\b/
Благодаря
Нельзя использовать '/ (^ | [^ :.]) \ b (int | bool | float) \ b /' с 'lookbehind: true'? –
Ваше регулярное выражение выглядит хорошо (может быть даже проще: '/ [^ :.] (int | bool | float) \ b /'). Вы действительно пытались использовать это регулярное выражение с lookbehind, установленным в true? Я думаю, это должно сработать. –