Javascript 正则表达式来匹配其中没有短语的短语
我需要一个JavaScript正则表达式来匹配以下内容:Javascript 正则表达式来匹配其中没有短语的短语,javascript,regex,Javascript,Regex,我需要一个JavaScript正则表达式来匹配以下内容: afoobar 及 及 但不是确切的短语 foobar 到目前为止,我得到的是: ^(?!foobar).*$ 正如在其他帖子中发现的,但这似乎与以下情况不符: foobars 我觉得我很接近,但似乎不知道该添加什么 谢谢你的帮助 编辑 谢谢你所有的回答-我的问题措辞不完全正确。我还需要正则表达式来匹配其他所有内容。所以它不需要有“foobar”来匹配。但是如果字符串正好是foobar,那么它就不应该是匹配的。试试这个:^(?!
afoobar
及
及
但不是确切的短语
foobar
到目前为止,我得到的是:
^(?!foobar).*$
正如在其他帖子中发现的,但这似乎与以下情况不符:
foobars
我觉得我很接近,但似乎不知道该添加什么
谢谢你的帮助
编辑 谢谢你所有的回答-我的问题措辞不完全正确。我还需要正则表达式来匹配其他所有内容。所以它不需要有“foobar”来匹配。但是如果字符串正好是foobar,那么它就不应该是匹配的。试试这个:^(?!foobar[s]*)。$试试这个:^(?!foobar[s]*)。$试试这个:^(?!foobar[s]*)。$试试这个:^(?!foobar[s]*)。$你可以使用:
^(?!.*?\bfoobar\b).*?foobar.*$
这将匹配一个对象,但不匹配foobar
在线演示:您可以使用:
^(?!.*?\bfoobar\b).*?foobar.*$
这将匹配一个对象,但不匹配foobar
在线演示:您可以使用:
^(?!.*?\bfoobar\b).*?foobar.*$
这将匹配一个对象,但不匹配foobar
在线演示:您可以使用:
^(?!.*?\bfoobar\b).*?foobar.*$
这将匹配一个对象,但不匹配foobar
在线演示:简单的解决方案如下:
.*foobar.+|.+foobar.*
或者更简单地说:
.foobar|foobar.
或者可能:
(?!^foobar$).*foobar
或者,如果您需要匹配任何包含foobar
(但不包括foobar
本身)且显示为更大字符串一部分的单词,您可以使用以下内容():
另外请注意,如果您只是尝试匹配任何不是foobar
的字符串,请使用以下命令:
(?!^foobar$)^.*$
或者更简单,只需测试您不想匹配的内容,并接受其他所有内容,如:
function notFoobar(input) { return 'foobar' !== input; }
一个简单的解决方案如下:
.*foobar.+|.+foobar.*
或者更简单地说:
.foobar|foobar.
或者可能:
(?!^foobar$).*foobar
或者,如果您需要匹配任何包含foobar
(但不包括foobar
本身)且显示为更大字符串一部分的单词,您可以使用以下内容():
另外请注意,如果您只是尝试匹配任何不是foobar
的字符串,请使用以下命令:
(?!^foobar$)^.*$
或者更简单,只需测试您不想匹配的内容,并接受其他所有内容,如:
function notFoobar(input) { return 'foobar' !== input; }
一个简单的解决方案如下:
.*foobar.+|.+foobar.*
或者更简单地说:
.foobar|foobar.
或者可能:
(?!^foobar$).*foobar
或者,如果您需要匹配任何包含foobar
(但不包括foobar
本身)且显示为更大字符串一部分的单词,您可以使用以下内容():
另外请注意,如果您只是尝试匹配任何不是foobar
的字符串,请使用以下命令:
(?!^foobar$)^.*$
或者更简单,只需测试您不想匹配的内容,并接受其他所有内容,如:
function notFoobar(input) { return 'foobar' !== input; }
一个简单的解决方案如下:
.*foobar.+|.+foobar.*
或者更简单地说:
.foobar|foobar.
或者可能:
(?!^foobar$).*foobar
或者,如果您需要匹配任何包含foobar
(但不包括foobar
本身)且显示为更大字符串一部分的单词,您可以使用以下内容():
另外请注意,如果您只是尝试匹配任何不是foobar
的字符串,请使用以下命令:
(?!^foobar$)^.*$
或者更简单,只需测试您不想匹配的内容,并接受其他所有内容,如:
function notFoobar(input) { return 'foobar' !== input; }
以下是基于新要求的更新答案:
+$(
也就是说,将所有内容匹配一次或多次,包括行的末尾——除非你回头看,只看到foobar锚定在行的开头,没有其他内容。以下是基于新要求的更新答案:
+$(
也就是说,将所有内容匹配一次或多次,包括行的末尾——除非你回头看,只看到foobar锚定在行的开头,没有其他内容。以下是基于新要求的更新答案:
+$(
也就是说,将所有内容匹配一次或多次,包括行的末尾——除非你回头看,只看到foobar锚定在行的开头,没有其他内容。以下是基于新要求的更新答案:
+$(
这就是说,将所有内容匹配一次或多次,包括行的末尾——除非你向后看,只看到固定在行的开头的foobar,而没有其他内容。一个简单的替换-A?foobar | afoobar?
一个简单的替换-A?foobar | afoobar
一个简单的替换-a?foobars | afoobars?
一个简单的替代-a?foobars | afoobars?
+1好答案没有想到第一种方法,唯一的问题是“.”可以匹配空格,但这些都不能解释foobar前后空格的情况。请尝试\S而不是“.”@Srb1313711不清楚OP是否要匹配整个字符串,或者字符串中的单词,但我明白你的意思。OP在尝试中使用了^$
锚,所以我会这么做say@p.s.w.g谢谢你的回答。我无法编写函数,因为这实际上不是JavaScript代码-它是一种配置。但是(?^foobar$)^您提供的。*$regex满足了我的需要+1很好的答案没有想到您的第一种方法,唯一的问题是“.”可以匹配空格,并且这些都不能用于foobar前后的空格。请尝试\S而不是“.”@Srb1313711不清楚OP是否要匹配整个字符串或字符串中的单词,但我明白您的观点。OP的用法s^$
锚定了他的尝试,所以我会这么做say@p.s.w.g谢谢你的回答。我无法编写函数,因为这实际上不是JavaScript代码-它是一种配置。但是(?^foobar$)^您提供的。*$regex满足了我的需要+1很好的答案没有想到您的第一种方法,唯一的问题是“.”可以匹配空格,并且这些都不能用于foobar前后的空格。请尝试\S而不是“.”@Srb1313711不清楚OP是否要匹配整个字符串或字符串中的单词,但我明白您的意思