正则表达式提取数字与逗号间内容的问题求助
解决方案
你需要提取数字结束位置到逗号之间的内容,可以使用这个正则表达式:
(?<=\d)(.*?)(?=,)
正则解释
(?<=\d):正向后顾断言,确保匹配内容的前一位是数字,避免捕获字符串开头的非数字部分(.*?):非贪婪模式匹配任意字符(除换行符),精准抓取数字后到逗号前的所有内容(?=,):正向前瞻断言,确保匹配内容的后一位是逗号
测试验证
针对你的示例输入,匹配结果完全符合预期:
55B/2,→ 捕获B/2171-1,→ 捕获-16"C",→ 捕获"C"26D,→ 捕获D8/1,→ 捕获/183,→ 无匹配内容,返回null/empty
代码示例(Python)
import re test_strings = [ " 55B/2,", " 171-1,", ' 6"C",', " 26D,", " 8/1,", " 83," ] regex_pattern = re.compile(r'(?<=\d)(.*?)(?=,)') for s in test_strings: match_result = regex_pattern.search(s) output = match_result.group(0) if match_result else 'null/empty' print(f"{s} --> {output}")
运行这段代码会直接输出你期望的结果。
内容的提问来源于stack exchange,提问作者Ivan Klemenko
相关产品推荐
相关产品推荐

