提问人:NYoung 提问时间:5/16/2019 更新时间:5/22/2019 访问量:98
有没有办法在正则表达式中的字符集之间进行选择?[复制]
Is there a way to choose between sets of characters in regex? [duplicate]
问:
有没有办法像这样只匹配垫子和mis?
我已经在正则表达式测试器中尝试过,但它不起作用。为什么不呢?方括号只带一个字符吗?
m[(?:is)(?:at)]
答:
0赞
vlad_tepesch
5/17/2019
#1
方括号定义字符集。
\d
例如,是[0123456789]
如果你想有替代品,你必须使用 ,就像匹配任何一个词一样。|
this|that
如果备选项是子模式,则可以使用普通括号对它们进行分组。
like (this|that)
matches 和'like this'
'like that'
所以匹配,它可以是:'mis'
'mat'
mis|mat
或者,如果您想要通用前缀
m(is|at)
如果您不想要捕获
m(?:is|at)
(但在这种情况下,您可以使用第一个可读性更好的建议)
评论
\bm(?:is|at)\b