Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 对前一组应用消极前瞻_Regex_Regex Negation - Fatal编程技术网

Regex 对前一组应用消极前瞻

Regex 对前一组应用消极前瞻,regex,regex-negation,Regex,Regex Negation,我从几个小时以来就在努力让这种消极的展望对我起作用。只有在后面没有“/CCC”时,它才应该与我的字符串匹配 测试字符串: BBB/CCC AAA/DDD/CCC 有人能指出为什么我的模式仍然与第一行的“BBB”匹配吗?首先,必须在正则表达式中转义/ 您还有一个不应该出现的点,并且缺少单词边界: /(^\w+)\b(?!\/CCC$)/mg 不知道必须对/进行转义。我尝试过的正则表达式编辑器中没有一个将其显示为错误。我使用了单点,因为我认为它将确保“/CCC”前面至少有一个“any char

我从几个小时以来就在努力让这种消极的展望对我起作用。只有在后面没有“/CCC”时,它才应该与我的字符串匹配

测试字符串:

BBB/CCC
AAA/DDD/CCC

有人能指出为什么我的模式仍然与第一行的“BBB”匹配吗?

首先,必须在正则表达式中转义
/

您还有一个不应该出现的点,并且缺少单词边界:

/(^\w+)\b(?!\/CCC$)/mg

不知道必须对/进行转义。我尝试过的正则表达式编辑器中没有一个将其显示为错误。我使用了单点,因为我认为它将确保“/CCC”前面至少有一个“any char”。你的第一个版本不适合我,只有第二个版本。非常感谢@user640916,斜杠之所以特殊,是因为它被用作正则表达式分隔符。一些正则表达式风格,如Perl和PHP,允许您选择不同的字符作为分隔符,而许多其他风格根本不需要分隔符。大多数正则表达式编辑器也不需要分隔符,因此它们将斜杠视为它的样子:只是另一个字符。
/(^\w+)\b(?!\/CCC$)/mg