regex:组合3个正则表达式



我有3个正则表达式,但当模式匹配时执行相同的操作,所以我想将所有三个表达式合并为一个。我尝试了很多,但无法在正则表达式中使用'|',即'or'

regex1:text.replace(/([u00A9-u3299])/g, function myFunction(x){ ... }

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

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

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

我觉得这很容易,我试着搜索了很多,但没有运气。

正则表达式语言是一种非常严格的语言,每个字符都是有意义的,甚至是空格(与空格匹配)。

删除空格:

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

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

最新更新