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
Regex 正则表达式:组合3个正则表达式_Regex - Fatal编程技术网

Regex 正则表达式:组合3个正则表达式

Regex 正则表达式:组合3个正则表达式,regex,Regex,我有3个正则表达式,但在模式匹配时执行相同的操作,因此我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:text.replace(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2:text.replace(/(\uD83C[\uDC04-\uDFF0])/g,函数myFunction(x){…} regex3:text.replace(/(\uD83D[\uDC00-\uDEC5])/g,函

我有3个正则表达式,但在模式匹配时执行相同的操作,因此我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作

regex1:
text.replace(/([\u00A9-\u3299])/g,函数myFunction(x){…}

regex2:
text.replace(/(\uD83C[\uDC04-\uDFF0])/g,函数myFunction(x){…}

regex3:
text.replace(/(\uD83D[\uDC00-\uDEC5])/g,函数myFunction(x){…}

我试过了,但没用 正则表达式:
text.replace(/([\u00A9-\u3299])|(\uD83C[\uDC04-\uDFF0])|(\uD83D[\uDC00-\uDEC5])/g,函数myFunction(x){…}

我知道这很容易,我尝试了很多次搜索,但我运气不好。

这种语言非常严格,每个字符都有意义,甚至是空格(a
匹配一个空格)

删除空格:

/[\u00A9-\u3299]|\uD83C[\uDC04-\uDFF0]|\uD83D[\uDC00-\uDEC5]/g

(是的,在这种情况下,你也可以删除无用的括号,因为没有必要为整个表达式定义一个组)

每个字符都很重要,你不能仅仅因为它是prettiery就放空格。现在它可以工作了,我觉得这样一个noob。我更新的正则表达式:
text.replace(/([\u00A9-\u3299]\uD83C[\uDC04-\uDFF0]\uD83D[\uDC00-\udc5]))/g、 函数myFunction(x){…}