举个例子,我有一句话:
if (ProPref.get("kcstcli","manageesw","on").equals("on")) {
Run Code Online (Sandbox Code Playgroud)
我想提取:
"kcstcli","manageesw","on"
Run Code Online (Sandbox Code Playgroud)
我尝试了非贪婪的解决方案,但它不能很好地工作(我正在使用Groovy).
it =~ /ProPref.get\((.*)?\)/
Run Code Online (Sandbox Code Playgroud)
非贪婪模式是.*?,所述(.*)?是一个可选的贪婪子模式匹配的1只或0的出现比其他换行符0或多个字符.
使用
it =~ /ProPref\.get\((.*?)\)/
Run Code Online (Sandbox Code Playgroud)
通过组1访问捕获的值.请参阅此正则表达式演示
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' }
Run Code Online (Sandbox Code Playgroud)
结果: "kcstcli","manageesw","on"
| 归档时间: |
|
| 查看次数: |
596 次 |
| 最近记录: |