这是我的搜索文字:
#<localhost>
127.0.0.1 localhost
127.0.0.1 localhost.localdomain
255.255.255.255 broadcasthost
::1 localhost
127.0.0.1 local
#</localhost>
我的正则表达式
(?<=^#)(?<stuff>.+)
正常工作,只选择#行。
当我将其更改为(?<!^#)(?<stuff>.+)
尝试仅获取非注释行,它返回所有行。
我觉得我错过了一些明显的,有任何建议吗?
使用多行和全局选项
答案 0 :(得分:0)
你需要前瞻,而不是向后看。所以试试:
^(?!#)(?<stuff>.+)$
简单:
^([^#].*)$
这将跳过评论和空行。
希望这有帮助。
答案 1 :(得分:0)
在找到不是#。
的字符后,您的正则表达式可能不会限制自己请尝试以下操作,找到您在
行之间寻找的格式[0-9\.:]+[A-Z\.a-z\s]+