如何通过正则表达式提取one键括号内的目标内容
正则提取one键对应方括号内的值
方案1:使用捕获组
正则表达式:one\[([^\]]+)\]
- 匹配逻辑:
one\[精确匹配字符串one[([^\]]+)捕获方括号内的所有内容([^\]]+表示匹配任意非]的字符,避免过度匹配)\]匹配闭合的]
- 使用时提取第一个捕获组的结果即可得到目标值(多数编程语言里可通过
match.group(1)获取)
方案2:使用正向/反向预查(零宽断言)
正则表达式:(?<=one\[)[^\]]+(?=\])
- 匹配逻辑:
(?<=one\[)正向预查,确保当前位置前面是one[[^\]]+匹配方括号内的目标内容(?=\])反向预查,确保当前位置后面是]
- 这种方式匹配结果直接就是目标字符串,无需额外提取捕获组
示例代码(Python)
import re target_str = "{0, plural, one[Sanglier] other[Sangliers]}" # 捕获组方式 captured_match = re.search(r'one\[([^\]]+)\]', target_str) if captured_match: print(captured_match.group(1)) # 输出: Sanglier # 预查方式 asserted_match = re.search(r'(?<=one\[)[^\]]+(?=\])', target_str) if asserted_match: print(asserted_match.group()) # 输出: Sanglier
内容的提问来源于stack exchange,提问作者Hippolyte BRINGER
相关产品推荐
相关产品推荐

