javascript - 有没有更聪明的方法来编写这个正则表达式?

标签 javascript regex

考虑这个正则表达式:/^(B|C|AB|AC|BC|ABC)$/。它仅接受包含 BC(包括 or)的字符串,可以选择在前面加上 A。虽然它工作得很好,一一列出了所有接受的字符串,但它显然不是一个非常可扩展的解决方案,特别是考虑到 AB >C 可以替换更长的短语。我的问题是:有没有办法编写一个等效的正则表达式,其中 ABC 仅出现一次?

最佳答案

/^(B|C|AB|AC|BC|ABC)$/

直接相当于

/^(A(?:BC?|C)|BC?|C)$/

其中后者的速度大约快 10 倍。

关于javascript - 有没有更聪明的方法来编写这个正则表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58149468/

相关文章:

regex - Vim 是否可以自动将正则表达式视为模式中给出的\v ?

Python正则表达式搜索

javascript - jQuery getJSON 不发送 cookie

javascript - 拆分一组复选框,然后将它们包装到一个标签中

javascript - JS : Fastest way to create all substrings starting at index 0

mysql - 如果包含特定字符,如何重命名WordPress帖子标题

javascript - 数据表中列的自定义(组)排序

javascript - 处理Ajax请求反馈

java - 在 Java 中返回 HTML 标记值

python - 通过应用条件解析日志文件