有没有办法只匹配像这样的垫子?
我已经在正则表达式测试器中尝试过,但是它不起作用。为什么不?方括号只用一个字符吗?
m[(?:is)(?:at)]
答案 0 :(得分:0)
方括号定义字符集。
例如, \d
是[0123456789]
如果要使用替代项,则必须使用|
,例如this|that
,它可以匹配任意一个单词。
如果替代方案是子模式,则可以将其与常规括号分组。
like (this|that)
匹配'like this'
和'like that'
因此要匹配'mis'
和'mat'
,可以是:
mis|mat
或者如果您想要通用前缀
m(is|at)
,如果您不想捕获
m(?:is|at)
(但在这种情况下,您可以使用可读性更好的第一个建议)