多个字符的方括号相当于什么?

时间:2013-09-06 13:34:24

标签: java regex

正则表达式[abcd]可以使用abcd中的任何一个字符。

如果我想从abcdefijk中取出任何一个字符串,该怎么办。

类似于["abcd" "def" "efg"](但这显然不起作用)。

我如何用Java做到这一点?

2 个答案:

答案 0 :(得分:11)

你的正则表达式看起来像这样:

(abcd|def|efg)

答案 1 :(得分:4)

[]仅适用于单个字符。

您可以将|用于多个字符(X|Y表示"Either X or Y"):

abcd|def|efg

如果正则表达式中还有其他内容,您需要用括号括起来:

other(abcd|def|efg)stuff

以上匹配这些字符串:

otherabcdstuff
otherdefstuff
otherefgstuff

其中-为:

otherabcd|def|efgstuff

显然会匹配这些字符串:

otherabcd
def
efgstuff