3

私は一致しようとしてい[ます]。しかし、正規表現にも2つを使用する場合、2つの角かっこに一致するパターンをどのように記述できますか?次の行のコンパイラエラーが発生するため、使用\[は機能しません。

 regex(new Regex("([^.#; \\t\\r\n(){}\[\]',`\"][^; \\t\\r\\n(){}\[\]',`\"]*|[.][^; \\t\\r\\n(){}\[\]',`\"]+)"))
4

2 に答える 2

5

私は一緒に行きます

"""\[[^\]]+\]""".r

正規表現のために。

"""\[[^\]]+\]""".r findAllIn """[a], [b], [123 Hello]""" toList
res2: List[String] = List([a], [b], [123 Hello])

次のようにネストされた式を解析する必要がない限り、正規表現は問題なく機能します。

"""\[[^\]]+\]""".r findAllIn """[[a], [b]]""" toList
res4: List[String] = List([[a], [b])
于 2012-11-09T13:52:00.660 に答える
1
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]
于 2012-11-09T09:02:01.383 に答える