Regex 使用正则表达式在方括号内查找多个字符
我在JavaScript中使用正则表达式替换某些文本,将传统编码文本转换为unicode(这是一种印度语)。假设我在任何地方找到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。那么代码是什么呢
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中被视为多个。如果您有任何进一步的疑问,请作为新问题提问。这样就可以用一些例子来描述实际问题。