groovy、java 正则中怎么提取单引号、双引号中的内容?但是必须要成对出现才匹配比如有字符串helloworld只能匹配到helloworld而不会匹配到单引号和双引号混合之间的内容匹配出来比如hello和world
在Groovy和Java中,你可以使用正则表达式来提取单引号和双引号中的内容,并且确保它们是成对出现的。下面是一个示例代码:
def input = "hello'world' \"groovy\" 'java' \"foo'bar\""
def regex = /(['"]).*?\1/
def matcher = input =~ regex
matcher.each { match ->
println match[0]
}
输出结果为:
'world'
"groovy"
'java'
这个正则表达式(['"]).*?\1的含义是:
(['"]):匹配一个单引号或双引号,并将其作为第一个捕获组。.*?:非贪婪地匹配任意字符。\1:引用第一个捕获组,确保引号是成对出现的。
这样就可以提取出成对出现的单引号和双引号中的内容了。
原文地址: https://www.cveoy.top/t/topic/iqJQ 著作权归作者所有。请勿转载和采集!