正则表达式匹配求助:排除括号内的点,提取指定键名
解决方案
直接用这个正则表达式就能满足需求:
(?:\([^)]*\)|[^.,)])*?(?:\.|,\))\s+([^:.]+):
正则说明
(?:\([^)]*\)|[^.,)])*?:非贪婪匹配,优先跳过括号内的所有内容(\([^)]*\)),再匹配括号外非分隔符、非括号的普通字符,彻底排除括号内的.干扰;(?:\.|,\)):精准匹配两种目标分隔符:单独的.,或是括号闭合后的),;\s+:匹配分隔符后面的一个或多个空格;([^:.]+):捕获我们需要的内容——介于空格和冒号之间、不含.和:的文本;::锚定结尾的冒号,确保捕获范围准确。
用这个正则匹配示例文本,就能精准提取出The key和Another key。
内容的提问来源于stack exchange,提问作者Fabio Piunti
相关产品推荐
相关产品推荐

