如何用Python正则匹配IMUD至C700前的指定内容
Python正则表达式匹配调整方案
需求:从给定文本中,匹配以IMUD开头(包含该模式)、到C700之前的所有内容(支持跨换行匹配)。
调整后的正则表达式
(?s)IMUD.*?(?=C700)
正则说明
(?s):启用单行模式,让通配符.可以匹配换行符,满足跨多行匹配需求IMUD:指定匹配的起始锚点,确保只从该字符串开始匹配.*?:非贪婪模式匹配任意字符,避免过度匹配到后续内容(?=C700):正向预查,确保匹配终止于C700出现的位置,且不包含C700本身
测试代码示例
import re text = """DFGC 2836 -07-0411B IMUD - DHI211 (MOOYEHBF P/ SHDUF) C7000039694 (PD MOFIBD PODF BAOJFD)""" pattern = r'(?s)IMUD.*?(?=C700)' match_result = re.search(pattern, text) if match_result: print(match_result.group())
运行后输出:
IMUD - DHI211 (MOOYEHBF P/
SHDUF)
内容的提问来源于stack exchange,提问作者drexalves
相关产品推荐
相关产品推荐

