タイトルの通り、正規表現でかっこに囲まれた部分を取得したいと思っています。
対象の文字列は"()"か"[]"で囲まれており、文字列の中に、囲んでいる括弧ではない方の括弧が含まれている可能性があります。
例えば(AB[CD)は、"()"に"["が入っています。
(AB[CD) (XY]Z)
というように、括弧の中の括弧で意図しない囲い[CD)\n(XY]を作ってしまう可能性もありますが、これについては考慮しなくても良いです。
いくつか考えてみたのですが、うまく実現することができません。
以下に2つ例を示します。
(AAA]のように異なる括弧で囲まれている文字列も対象となってしまう。
(?<=[([]).*?(?=[)]])
_AAA_のように囲い文字が同じならうまく働くが、括弧は囲い文字が違うので"("と")"を関連付けられない。
言語側で連想配列を使おって解決しようにも、キャプチャした文字はコード上で取得できない。
(?<=([([)])).*?(?=\1)
正規表現を使わず、通常の文字列処理として考えるなら実装できると思います。
正規表現を使って実現することはできませんか?
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/12/29 19:22