Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.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
Javascript 正则表达式来匹配其中没有短语的短语_Javascript_Regex - Fatal编程技术网

Javascript 正则表达式来匹配其中没有短语的短语

Javascript 正则表达式来匹配其中没有短语的短语,javascript,regex,Javascript,Regex,我需要一个JavaScript正则表达式来匹配以下内容: afoobar 及 及 但不是确切的短语 foobar 到目前为止,我得到的是: ^(?!foobar).*$ 正如在其他帖子中发现的,但这似乎与以下情况不符: foobars 我觉得我很接近,但似乎不知道该添加什么 谢谢你的帮助 编辑 谢谢你所有的回答-我的问题措辞不完全正确。我还需要正则表达式来匹配其他所有内容。所以它不需要有“foobar”来匹配。但是如果字符串正好是foobar,那么它就不应该是匹配的。试试这个:^(?!

我需要一个JavaScript正则表达式来匹配以下内容:

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是否要匹配整个字符串或字符串中的单词,但我明白您的意思