如果我想使用正则表达式找到“<”或“>”在字符串中并根据“<”拆分字符串或“>”,我该怎么做?
例如,我可能有一个如下所示的字符串:String str = <name> hello bob, how are you today </name>
答案 0 :(得分:3)
str.split("[<>]");
括号表示您将匹配其中的任何字符。
答案 1 :(得分:1)
在正则表达式中实现or
有两种方法:
使用|
运算符进行轮替:
a|b
表示“a
或b
”。|
的任意一侧:one|two.*three
表示“one
或(two
,后跟任意字符串,后跟{{1 }})”。three
角色类:
^(one|two.*three)$
表示“集合中的一个字符[ab]
”。ab
表示“[^ab]
或a
以外的任何字符”。b
表示“集合[a-b]
中的任何字符”。因此,在您的情况下,可能的正则表达式将是abc
或(<|>)
,其中后者是首选,因为两个备选方案的长度恰好是一个字符。
要拆分字符串,您可以使用[<>]
方法:
.split()