Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/379.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 a+的正则表达式+;或者a--或者++;一个或一个_Javascript_Regex - Fatal编程技术网

Javascript a+的正则表达式+;或者a--或者++;一个或一个

Javascript a+的正则表达式+;或者a--或者++;一个或一个,javascript,regex,Javascript,Regex,任何人都可以帮助使用正则表达式进行增量后递减或增量前递减。i、 例如,对于a++,a--,++a,-a,它必须返回true +和-在正则表达式中具有特殊含义。(但是-只在我们不需要的字符类中执行)。因此,如果希望将它们作为可能的值进行匹配,则需要转义+。你可以用反斜杠 因此,a\+\+\124; a--a是一个简单的正则表达式,可以完成这项工作。如果在Javascript中使用表示正则表达式文字的/和/,则可以直接使用它 根据您的匹配者,您可能需要^(a\+\+\\+\\+\+\\+\\\\+\

任何人都可以帮助使用正则表达式进行增量后递减或增量前递减。i、 例如,对于a++,a--,++a,-a,它必须返回true

+
-
在正则表达式中具有特殊含义。(但是
-
只在我们不需要的字符类中执行)。因此,如果希望将它们作为可能的值进行匹配,则需要转义
+
。你可以用反斜杠

因此,
a\+\+\124; a--a
是一个简单的正则表达式,可以完成这项工作。如果在Javascript中使用表示正则表达式文字的
/
/
,则可以直接使用它


根据您的匹配者,您可能需要
^(a\+\+\\+\\+\+\\+\\\\+\\\\\\\\\\+--a)$

您可以尝试以下方法:

/a[+-]{2}\s|\s[+-]{2}a/g;
正如@RoToRa所评论的,您不需要
[\+\124;\-]

var regex=/a[+|-]{2}\s}\s[+|-]{2}a/g;
var str=“hello++a这是对--a和a的测试,但不是对--a的测试”;

console.log(str.replace(regex,“*”)
您也可以使用字符集在不转义的情况下执行此操作:

/(a[+-][+-]|[+-][+-]a)/gm
或者如果不允许
a+-

/^(a[+][+]|a[-][-]|[+][+]a|[-][-]a)$/gm

它返回a+,+a,a-,-a的真值,我只想要[\w]++或[\w]或[\w]--或--[\w]这些返回真值在我的测试仪中不返回真值。你实施的正确吗?我想你还有一条斜线。我已经把整件事都写进了答案。var str=“a——”;var patt=/a\\+\\+\\\-\\\+\\\\+\+a\\-\\-a/;var res=部分试验(str);这是我测试的。现在一切都是假的cases@LokeshReddy:使用regexp literal
/…/
时,无需将斜杠加倍。@Bathsheba,即使它不起作用。对于一个实例,它返回true++b@SZenC我试着这样做/[\w][\+\124; \-]{2}{124;[\+\ 124; \-]{2}[\w]+/g;但是对于a++,+++a,a----,a,它返回真值。你不能用正则表达式解析编程语言。告诉我们更多关于你正在尝试做的事情,这样我们就可以建议一个合适的工具。对于a++b,a++alsoOk,它返回true,我相应地修改了它。a+-或a-+可以在这里工作,我想它需要反向引用。那么
a+-
就可以了吗?我用一个与
a+-
不匹配的版本编辑了答案。如?特殊情况不起作用或整个情况不起作用?在更换过程中,其工作正常。我在js中使用test()方法。只有在上面的情况下(单词后跟++或--、++或--后跟单词),它才需要返回true,但即使我们使用a++b
[\+\-]
表示
+
-
,您的模式也会返回true。另外,
+
不是字符类中的特殊字符,如果它是最后一个字符,
-
也不是,所以您只需要
[+-]
@LokeshReddy我已经更新了我的答案。希望它也能帮助删除
|
,否则它会匹配该字符。