Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.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-RegExp,用于检测"-&引用&引用;-&引用;_Javascript_Regex - Fatal编程技术网

Javascript JS-RegExp,用于检测"-&引用&引用;-&引用;

Javascript JS-RegExp,用于检测"-&引用&引用;-&引用;,javascript,regex,Javascript,Regex,我对我应该用来检测“-”、“-”的RegExp感到有点困惑。它确实会将这些组合作为有效组合传递,但同时,“-”、“-”也会得到验证。我是遗漏了什么还是没有正确地逃避 var reg=new RegExp("(\.\-)|(\-\.)"); 实际上,似乎任何包含'-'的组合都会被传递。它 明白了,谢谢大家。因为您使用的是带有RegExp构造函数的字符串,而不是/,所以需要转义两次 >>> "asd_-ads".search("(\.\-)|(\-\.)") 3 >>

我对我应该用来检测
“-”、“-”的RegExp感到有点困惑。
它确实会将这些组合作为有效组合传递,但同时,
“-”、“-”
也会得到验证。我是遗漏了什么还是没有正确地逃避

 var reg=new RegExp("(\.\-)|(\-\.)");
实际上,似乎任何包含
'-'
的组合都会被传递。它


明白了,谢谢大家。

因为您使用的是带有RegExp构造函数的字符串,而不是
/
,所以需要转义两次

>>> "asd_-ads".search("(\.\-)|(\-\.)")
3
>>> "asd_-ads".search(/(\.\-)|(\-\.)/)
-1
>>> "asd_-ads".search(new RegExp('(\\.\-)|(\-\\.)'))
-1

由于使用的是带有RegExp构造函数的字符串,而不是
/
,因此需要转义两次

>>> "asd_-ads".search("(\.\-)|(\-\.)")
3
>>> "asd_-ads".search(/(\.\-)|(\-\.)/)
-1
>>> "asd_-ads".search(new RegExp('(\\.\-)|(\-\\.)'))
-1
你需要使用

"(\\.-)|(-\\.)"
你需要使用

"(\\.-)|(-\\.)"

使用双引号是为了使
不会用一个反斜杠转义,请使用以下符号:

var reg = /(\.\-)|(\-\.)/;

使用双引号是为了使
不会用一个反斜杠转义,请使用以下符号:

var reg = /(\.\-)|(\-\.)/;
在表示法
/(\.\-)\124;(\-\.)/
中,表达式是正确的。 在您选择的符号中,必须将所有反斜杠加倍,因为它本身仍有特殊含义,如
\\
\n
等等。
注意,这里不需要转义破折号:
var reg=new RegExp(“(\\.-)|(\\”)

如果不需要区分匹配项,可以使用单个封闭捕获,如果只想检查匹配项,则可以不使用:
“\\\.-\.-\.-\.”
仍然有效。

在notation
/(\.\-)\.-\.-\./
中,表达式是正确的。 在您选择的符号中,必须将所有反斜杠加倍,因为它本身仍有特殊含义,如
\\
\n
等等。
注意,这里不需要转义破折号:
var reg=new RegExp(“(\\.-)|(\\”)


如果不需要区分匹配项,可以使用单个封闭捕获,或者如果只想检查匹配项,则完全不使用:
“\\\.-\124;-\\.”
仍然有效。

这些不是
“分隔符”。他需要转义
\
,因为他使用字符串作为表达式。这些不是
“分隔符”。他需要转义
\
,因为他使用一个字符串作为表达式。如果您想知道结果表达式,请在控制台中复制
RegExp((\.\-)\124;(\-)”)
。输出是
/(.-)\124;(.-)/
匹配任何字符。如果您想知道结果表达式,请复制
RegExp(”控制台中的(\.\-)|(\-\)”
。输出为
/(.-)|((.-)/
,并且
匹配任何字符。