我正在尝试匹配[
and ]
。但是当我们也将两者用于正则表达式时,我该如何编写一些模式来匹配两个括号?Using\[
不起作用,因为它给出了以下行的编译器错误:
regex(new Regex("([^.#; \\t\\r\n(){}\[\]',`\"][^; \\t\\r\\n(){}\[\]',`\"]*|[.][^; \\t\\r\\n(){}\[\]',`\"]+)"))
我正在尝试匹配[
and ]
。但是当我们也将两者用于正则表达式时,我该如何编写一些模式来匹配两个括号?Using\[
不起作用,因为它给出了以下行的编译器错误:
regex(new Regex("([^.#; \\t\\r\n(){}\[\]',`\"][^; \\t\\r\\n(){}\[\]',`\"]*|[.][^; \\t\\r\\n(){}\[\]',`\"]+)"))
我会去
"""\[[^\]]+\]""".r
对于正则表达式。
"""\[[^\]]+\]""".r findAllIn """[a], [b], [123 Hello]""" toList
res2: List[String] = List([a], [b], [123 Hello])
只要您不需要解析嵌套表达式,Regex 就可以正常工作
"""\[[^\]]+\]""".r findAllIn """[[a], [b]]""" toList
res4: List[String] = List([[a], [b])
val Bracketed = """\[.*?\]""".r
def check(s: String) =
(Bracketed findAllIn s).toSeq
check("Wrong (curved) thingies") // Nil
check("") // Nil
check("[Hi]") // [Hi]
check("[Hi][There]") // [Hi], [There]
check("[Hi]gap[There]gop") // [Hi], [There]