有没有办法在正则表达式中的字符集之间进行选择?

时间:2019-05-16 11:11:23

标签: regex language-agnostic

有没有办法只匹配像这样的垫子?

我已经在正则表达式测试器中尝试过,但是它不起作用。为什么不?方括号只用一个字符吗?

m[(?:is)(?:at)]

1 个答案:

答案 0 :(得分:0)

方括号定义字符集。

例如,

\d[0123456789]

的简写

如果要使用替代项,则必须使用|,例如this|that,它可以匹配任意一个单词。

如果替代方案是子模式,则可以将其与常规括号分组。

like (this|that)匹配'like this''like that'

因此要匹配'mis''mat',可以是:

mis|mat

或者如果您想要通用前缀

m(is|at)

,如果您不想捕获

m(?:is|at)

(但在这种情况下,您可以使用可读性更好的第一个建议)