我在过去几个小时里搜索过网络,试图找出为什么我的同事坚持在他的正则表达式中使用(?!.)
作为最后一个字符而不是通常的{{1} }。
我见过的一些正则表达式是$
,它以通常的^.*.txt(?!.)
开头,但不以^
结尾。我一直无法找到任何明确或时间有效的理由,任何利弊或差异?
答案 0 :(得分:4)
$
可能匹配行尾而不是输入结尾(这取决于所使用的修饰符)。也许这就是原因。
在我看来,匹配输入的最佳方式是\z
- 这意味着输入的结束,无论修饰符如何。大多数(如果不是全部)正则表达式实现都支持它。
答案 1 :(得分:3)
答案 2 :(得分:2)