我正在使用自定义语言扩展Prism,我想突出显示类型(int,float,bool)。
我希望匹配不以点或符号开头的字符串。
我已经尝试过单独使用正则表达式,但无法使其正常工作,所以我可能必须使用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/
由于
答案 0 :(得分:1)
<强>回顾后:强>
此选项可减轻JavaScript缺乏外观。 当设置为true
时,匹配此令牌时,正则表达式模式中的第一个捕获组将被丢弃,因此它有效地表现得好像是后视。
实际上,它是PCRE \K
operator的实现。
所以,使用
/(^|[^:.])\b(int|bool|float)\b/
^^^^^^^^^
其中(^|[^:.])
是捕获组。同样设置lookbehind: true
。