600000007

プログラムと折り紙のブログです。

key-value形式のvalueを取得する正規表現

久々にややこしい正規表現を書いたのでメモ。


以下のような形式のテキストから、valueだけをぬきとります。

key="value"

ただし、valueに' " ' を含めるために ' ¥ ' でエスケープされる可能性も考慮します。
こんな感じです。

key="value"
key="va¥"lue"
key="va¥¥lue"
key="value¥¥"

こんな正規表現を書いてみたところ、期待する値がとれました。

key="((.*?¥¥¥¥)|(.*?[^¥¥]))"

取得結果。
Javaで動作確認をしています。

value
va¥"lue
va¥¥lue
value¥¥