正则表达式:可以简化这个吗?

时间:2018-04-12 23:59:35

标签: javascript regex

我有这个JavaScript正则表达式:/(\.abc$|^abc$|abc\.def$)/i。我觉得这是非常多余的,可以简化。这就是我想要完成的事情:
- 只需在结尾处匹配.abc或仅abc或仅abc.def

编辑:我意识到我可以将$放在括号的末尾,它可能会成为/(\.abc|^abc|abc\.def)$/i。但是,这仍然是多余的

1 个答案:

答案 0 :(得分:0)

由于.abc.def隐含的分叉在末尾不匹配,因此您一次只能合并两个选项。

所以每个案例结合两个并添加剩余的选项:

(^abc(\.def)?|\.abc)$

((^|\.)abc|^abc\.def)$