文字列「winline」が1回以上現れることがあります。また、行に何回出現するかは事前に分かりません。複数の出現のための正規表現のキャプチャをグループに入れよう
このテキストに記載されているすべての「winline」をキャプチャする方法はありますか?私はGroovyを使用していて、winlineにマッチしてみましたが、全てをキャプチャしますが、それぞれがグループ1として記述されています。グループごとにグループをキャプチャできるようにしたいのです。
行を以下に、この正規表現を使用して実施例:winlineの\ "([0-9] +)
def matcher
def winningSym = /winline\":([0-9]+)/
if((matcher = line =~ winningSym)){
println matcher[0][1] // get 5 which is right
println matcher[1][1] // expect 4 but get IndexOutOfBounds Exception
}
ライン:
{" ID ":1、" winline ":5、" 賞金 ":50000、いくつかのランダムなテキスト、 "winline":4、 よりランダムなテキスト、 "winline":7、より多くのもの}
**本当に**あなたが解析しなければならないテキストですか?誰かがJSON形式を見て、独自の解析不能なバリアントを書くことに決めましたか? –
@tim_yatesはい、残念ながら、それは解析する必要があるテキストです。 – cubeb