Regex 使用正则表达式在方括号内查找多个字符

Regex 使用正则表达式在方括号内查找多个字符,regex,javascript,replace,Regex,Javascript,Replace,我在JavaScript中使用正则表达式替换某些文本,将传统编码文本转换为unicode(这是一种印度语)。假设我在任何地方找到a,b,c中的任何一个,然后是x,y,z中的任何一个,然后是e,我必须替换它,使e排在第一位。我有这样的代码: modified_substring = modified_substring.replace( /([abc])([xyz]*)e/g , "e$1$2" ) ; 现在让我们假设我想修改这个规则为a或b或c或klm,后跟x,y,z再跟e。那么代码是什么呢

我在JavaScript中使用正则表达式替换某些文本,将传统编码文本转换为unicode(这是一种印度语)。假设我在任何地方找到
a,b,c
中的任何一个,然后是
x,y,z
中的任何一个,然后是
e
,我必须替换它,使e排在第一位。我有这样的代码:

modified_substring = modified_substring.replace( /([abc])([xyz]*)e/g , "e$1$2" ) ;
现在让我们假设我想修改这个规则为
a
b
c
klm
,后跟
x
y
z
再跟
e
。那么代码是什么呢

modified_substring = modified_substring.replace( /([abc]klm)([xyz]*)e/g , "e$1$2" ) ;

这显然行不通。有没有办法做到这一点?

您需要使用交替运算符
|

modified_substring = modified_substring.replace( /([abc]|klm)([xyz]*)e/g , "e$1$2" ) ;
                                                        ^

非常感谢Avinash为我省去了阅读regex教程的繁琐工作。效果很好。顺便说一句,仅供参考,示例中的“klm”实际上是印度字母中的连词,看起来像一个字母,但在unicode中被视为多个。如果您有任何进一步的疑问,请作为新问题提问。这样就可以用一些例子来描述实际问题。