【发布时间】:2018-06-29 15:30:04
【问题描述】:
我无法理解负正则表达式前瞻/后瞻。我从阅读教程中得到的印象是,当您设置要查找的条件时,该条件不构成搜索匹配的一部分。
这似乎适用于我尝试过的正面前瞻示例,但是当我尝试这些负面示例时,它与整个测试字符串匹配。 1,它不应该匹配任何东西,2即使匹配,也不应该包含前瞻条件??
(?<!^And).*\.txt$
有输入
And.txt
见:https://regex101.com/r/vW0aXS/1
和
^A.*(?!\.txt$)
有输入:
A.txt
见:https://regex101.com/r/70yeED/1
PS:如果你要问我是哪种语言。我不知道。我们被告知要使用正则表达式,而无需具体提及任何特定语言。我尝试在 regex101.com 上单击各种选项,结果都一样。
【问题讨论】:
-
在字符串的开头,lookbehind 不能“look back”看到“AND”。相反,在字符串的末尾,前瞻不会看到“.txt”,因为它已经匹配了。