正则表达式:结合3个正则表达式

时间:2016-05-03 11:37:20

标签: regex

我有3个正则表达式,但在模式匹配时执行相同的操作,所以我想把所有三个表达式合并为一个。我尝试了很多,但不能得到' |'即'或'在我的正则表达式中工作

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){ ... }

我很轻松,我试了很多,但对我没有运气。

1 个答案:

答案 0 :(得分:3)

regular expression语言非常严格,每个字符都是有意义的,甚至是空格(与空格匹配)。

删除空格:

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

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