我试图编写一个正则表达式来检测以下类型的注释:
#
开始,一直持续到行尾#
(\#
)视为普通文本(因此,如果它已经不存在,则不会在其后发表任何评论)使用this tool,我想出了以下正则表达式来实现这一目标:
(?!\\)(#(.*)\n)
在全局模式下使用它,我在以下输入文本上测试了它,这是非常不言自明的:
#This comment should be caught, and any embedded #s or escaped \#s should also be
While none of this line this should be \#\#\#
现在,该正则表达式的匹配是:
#
开始,但不包括\
之前显然,这太过分了 - 应该抓住第二行的任何内容。我应该改变什么来让它按照我想要的方式工作?
答案 0 :(得分:3)
使用此正则表达式:
(?<!\\)#.*
<强>解释强>
(?<!\\)
声称前面的内容不是反斜杠。#
匹配哈希.*
匹配到行尾查看 Regex Demo
中的匹配项<强>参考强>