javascript - Terser RegExp 捕捉分组词的备选集合

标签 javascript regex string

我要抓字 ferrariferryferret

正则表达式很容易是:

/ferr(ari|y|et)/

但是,我注意到一个模式:当您想捕获单个 单词的多个备选方案时,您可以使用方括号[wordsToCapture]。例如,我想捕捉单词:vowel avowel evowel uvowel o , 元音 i.

正则表达式可以是:vowel [aeiou],它比 vowel (a|e|i|o|u) 噪音小

所以我尝试使用方括号来捕捉分组词的多种选择。但是,[...](方括号)使我的捕获组((...) 圆括号)变得无用,这意味着如果我使用此正则表达式 ferr[(ari)(y)(et)],它将匹配:ferr(, ferra, ferrr , ferri,并且该列表针对方括号中出现的每个一个字符继续。

有没有办法让方括号内的捕获组括号保留其特殊含义,从而使我的 RegExp 更简洁?还是有其他方法让它更简洁?

最佳答案

否 - 方括号表示字符集。如果你想匹配多组字母,你需要使用你之前使用的符号。

/ferr(ari|y|et)/

关于javascript - Terser RegExp 捕捉分组词的备选集合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56590955/

相关文章:

string - Scala 检查元素是否存在于列表中

javascript - 我如何解析这个包含\n的变量?

javascript - 如何将commonservice文件中的对象的值获取到html

regex - 为什么在 Ruby 中 Regexp 对象被认为是 "falsy"?

javascript 复选框在页面重新加载时不保持其状态

objective-c - 这些情况的正则表达式是什么?

Javascript 在字符串中查找单词的索引(不是单词的一部分)

python - 需要洞察力 : Using python I am using a regular expression to capture sample restaurant sales data to categorize and convert it to JSON from a . pdf

javascript - 禁用外部库设置的事件监听器

原型(prototype) getter 访问的 Javascript 私有(private)属性