2016-05-04 60 views
1

はRegex私はラインがあります。は、一例として

if (ProPref.get("kcstcli","manageesw","on").equals("on")) { 

を私が抽出したいと思います:

"kcstcli","manageesw","on" 

私は非欲張りなソリューションを試みたが、それはdoesnのうまく動作しません(Groovyを使用しています)。

it =~ /ProPref.get\((.*)?\)/ 

答えて

5

非貪欲パターン(.*)?が改行以外の0個以上の文字の1つのまたは0の出現と一致任意貪欲サブパターンで、.*?あります。

使用グループ1を介してキャプチャした値がthis regex demo

Groovy sample codeを参照してください

it =~ /ProPref\.get\((.*?)\)/ 

アクセス:

s = "if (ProPref.get(\"kcstcli\",\"manageesw\",\"on\").equals(\"on\")) {" 
regex = /ProPref\.get\((.*?)\)/ 

def m = s =~ regex 
(0..<m.count).each { print m[it][1] + '\n' } 

結果:"kcstcli","manageesw","on"

関連する問題