根据角括号分开字符串

  • 本文关键字:字符串 java regex scala
  • 更新时间 :
  • 英文 :


是否有任何方法将字符串分为基于角度括号的部分,所以

1<2>3<4>应成为["1", "<2>", "3", "<4>"]

我尝试过"1<2>3<4>".split("<([^>]*)>"),但这仅给我["1", "3"]

with lookaheads:

scala> val s = "1<2>3<4>"
scala> s.split("(?=<)|(?<=>)")
res6: Array[String] = Array(1, <2>, 3, <4>)

请参阅(?=X)(?<=X)

您可以在打开括号前或关闭括号之后使用LookArounds拆分:

(?=<)|(?<=>)

demo

REGEX在常规数字上找到,或者周围有括号的人

scala> """d+|(<d+>)""".r.findAllIn("1<2>3<4>").toArray
res0: Array[String] = Array(1, <2>, 3, <4>)

也可以做"""<?d+>?""".r

最新更新