Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/375.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 如果出现某个字符串,如何使JS正则表达式不匹配?_Javascript_Regex - Fatal编程技术网

Javascript 如果出现某个字符串,如何使JS正则表达式不匹配?

Javascript 如果出现某个字符串,如何使JS正则表达式不匹配?,javascript,regex,Javascript,Regex,我试图在Javascript中构建一个正则表达式,如果某个字符串出现,它将不匹配。所以我想匹配这个花括号{,但前提是前面不是字符串else 我正在尝试执行此操作,^*[^else]**{.*$,但事实上,如果出现else字符串中的任何字符,则此操作不匹配,例如,此操作也与以下操作不匹配: erai{ 我想匹配出现{时的所有情况,尽管出现了此情况或{ 请帮我个忙。这是我的你要找的东西叫什么。你可以使用负前瞻。JavaScript支持这一点: (?!\s*else).+ *({).*$| Jav

我试图在Javascript中构建一个正则表达式,如果某个字符串出现,它将不匹配。所以我想匹配这个花括号
{
,但前提是前面不是字符串
else

我正在尝试执行此操作,
^*[^else]**{.*$
,但事实上,如果出现
else
字符串中的任何字符,则此操作不匹配,例如,此操作也与以下操作不匹配:

erai{
我想匹配出现
{
时的所有情况,尽管出现了此情况
或{


请帮我个忙。这是我的

你要找的东西叫什么。

你可以使用负前瞻。JavaScript支持这一点:

(?!\s*else).+ *({).*$|

JavaScript正则表达式不支持ifs,但我们可以使用一个技巧使其工作:

(?!RegExp)
这是第一部分,如果
RegExp
(这是一个regex)没有出现,那么我们在这之后执行代码:

.+ *({).*$
这是我们运行的正则表达式。Broken是,它是:

.+       Match anything
 *       Until 0 - unlimited spaces
({)      Capture the {
.*$      Match anything till the end
现在,除非我们在末尾添加一个
|
,或者一个or,否则这将无法工作。这将使它像if语句一样工作


在查看之后,我建议您JavaScript不支持负面外观。所以@vihan有什么解决我的问题的方法吗?
^(?。*\belse\s*{).*$
@hwnd谢谢。你的RegExp真的很有用。
\b
是否代表单词边界?如果我需要,我也可以将这个RegEx与两个单词连接起来。再次感谢你的帮助…谢谢你的帮助。但是你的演示也与这个案例相匹配
{
。我不想匹配这个……你能帮我吗?这个也匹配
其他的吗{
…正如我所说的,我不想匹配这种情况。@hwnd的解决方案适用于me@orsina不确定你的意思,这不是演示正在做的吗?我找到了一种使用你的答案的方法。我使用
if
检查匹配返回的值是否未定义
if(typeof closelsebl[1]!='undefined')
…然后我继续我的功能..非常感谢并抱歉我的第一条评论,但我后来找到了我的解决方案