我喜欢
这样的字符串con(tRegionDefaults.committee_chairman,', Secretary & Treasurer')
con('Non-Voting Member - ',tRegionDefaults.corptypelong,' Manager')
con('Vice ',tRegionDefaults.committee_chairman)
尝试使用正则表达式从每个示例中获取所有函数参数(包括参数为字符串的单引号),但是没有成功。
我发现的是这个正则表达式,但它没有给我组功能参数:
([\(])([^,]+)+(\))
任何人都可以提示如何做到这一点吗?
答案 0 :(得分:1)
将捕获组放在所有参数周围,而不是单个参数。
\((.*)\)
除非您愿意限制捕获的参数数量,否则无法将每个参数都放在单独的捕获组中。通过计算括号来从正则表达式中静态确定捕获组 - 重复量词内的捕获组仍然只捕获一个事物(我相信它的第一个匹配)。
因此,使用上面的正则表达式捕获所有参数,然后使用其他一些代码将捕获的文本拆分为,
个字符。
答案 1 :(得分:1)
模式:'[^']+'|(?<=con\(|,)[^,]+(?=,|\))
模式说明:
'[^']+' #Match substrings that are single quoted<br>
| # or
(?<=con\(|,)[^,]+(?=,|\))
#Match non-comma characters preceded by con( or comma AND followed by a comma or )