我正在为一种语言创建一个语法高亮文件,并且我已将所有内容都映射出来并处理一个例外。
我无法想出一个匹配特定行注释样式的以下条件的正则表达式。
如果第一个非空白字符是星号 (*),则该行被视为注释。
我创建了许多在 regexr 中工作的示例,但它从未在 vscode 中捕获。
例如,正则表达式很酷:
^(?:\s*)\*+(?:.*)?\n
因此,我将其转换为 tmlanguage.json 文件的正确格式:
^(?:\\s*)\\*+(?:.*)?\\n
但它没有正确捕获,如果该行的第一个字符是 *,它不会捕获,但如果第一个字符是空格字符后跟一个 *,它确实有效。
我在stackoverflow上的格式很烂,所以代表一个chr(9)制表符。是一个空间。
*******************************
*****************************
<tab>*************************
* comment
* comment
<tab>* comment
But it shouldn't work in these cases:
string *******************************
string ***************************** string
<tab>string *************************
x *= 3
我猜要么锚 ^ 在我的正则表达式中不起作用,要么我错误地转义了一些东西。
有什么建议吗?
请参阅随附的示例图片:屏幕截图