Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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,因此,我提出了以下正则表达式:/(?:\\u2B1C)+|((?:\\u2B1B)+)/g 它用于解析下面的Unicode字符字符串-由\u2B1C和\u2B1B压缩而成。我希望它匹配一行中任意一个函数的数量,然后将其传递给replace函数。我已经在进行了测试,它与我的输入文本完全匹配 但是,当我在String.replace()中使用它时,什么也没有发生,我没有收到控制台消息,也没有nada 有人能给我指一下正确的方向吗 使用中: 要匹配的文本: 不要逃避反斜杠: /((?:\u2B1C)+

因此,我提出了以下正则表达式:
/(?:\\u2B1C)+|((?:\\u2B1B)+)/g

它用于解析下面的Unicode字符字符串-由
\u2B1C
\u2B1B
压缩而成。我希望它匹配一行中任意一个函数的数量,然后将其传递给replace函数。我已经在进行了测试,它与我的输入文本完全匹配

但是,当我在
String.replace()
中使用它时,什么也没有发生,我没有收到控制台消息,也没有nada

有人能给我指一下正确的方向吗

使用中: 要匹配的文本:
不要逃避反斜杠:

/((?:\u2B1C)+)|((?:\u2B1B)+)/g
或者简单地说(您不需要所有这些组):

由于您只匹配单个(重复)角色,因此还可以使用:(感谢Niet the Dark Absol(什么是Absol?)


不要逃避反斜杠:

/((?:\u2B1C)+)|((?:\u2B1B)+)/g
或者简单地说(您不需要所有这些组):

由于您只匹配单个(重复)角色,因此还可以使用:(感谢Niet the Dark Absol(什么是Absol?)


啊,谢谢你……在我之前的一次尝试中,我不得不逃离它们(使用Regex对象)我甚至没有想过要尝试。效果很好。我当然需要替换,因为我只希望在每个匹配中包含相同字符的块?character类不起作用,因为它试图在一行中匹配相同字符。但是,您可以这样做:
/([\u2B1B\u2B1C])\1*/
@NiettheDarkAbsol谢谢这也行得通…有什么理由我应该使用一个而不是另一个吗?也许是性能?完全的正则表达式noob…这是我第一次写一个我想要的。没有真正的理由,尽管我个人认为我的建议显示出的意图稍微好一点,这对正则表达式来说总是一个好主意。@N我可以厚颜无耻地问一下你是否知道如何告诉它不匹配换行符吗?只是
\n
没有那些花哨的东西。我不太确定
\1*/
做了什么(一次或多次)?啊,谢谢你…我在我以前的一次尝试中(使用Regex对象)不得不避开它们我甚至没有想过要尝试。效果很好。我当然需要替换,因为我只希望在每个匹配中包含相同字符的块?character类不起作用,因为它试图在一行中匹配相同字符。但是,您可以这样做:
/([\u2B1B\u2B1C])\1*/
@NiettheDarkAbsol谢谢这也行得通…有什么理由我应该使用一个而不是另一个吗?也许是性能?完全的正则表达式noob…这是我第一次写一个我想要的。没有真正的理由,尽管我个人认为我的建议显示出的意图稍微好一点,这对正则表达式来说总是一个好主意。@N我可以厚颜无耻地问一下你是否知道如何告诉它不要与新词匹配?只是
\n
没有那些花哨的东西。我不太确定
\1*/
做了什么(一次或多次?)
/((?:\u2B1C)+)|((?:\u2B1B)+)/g
/\u2B1C+|\u2B1B+/g
/([\u2B1B\u2B1C])\1*/g