正则匹配:如何匹配字面点与换行并提取指定文本内容
正则提取指定文本片段解决方案
核心问题
你需要从给定文本中提取从L'utilizzo开头到. (句号紧跟换行)结尾的完整内容,之前的正则失效是因为默认规则下.不匹配换行,导致非贪婪匹配提前终止。
可行正则方案
方案1:直接定位目标片段
直接匹配起始标记到结束标记的内容,需开启跨行匹配模式(让.能覆盖换行):
L'utilizzo.*?\.\n
- 启用跨行模式的方式:不同工具/语言略有差异,比如Python用
re.DOTALL参数,正则前置(?s)(如(?s)L'utilizzo.*?\.\n) \.\n精准匹配目标结束符(句号+换行),避免误匹配其他句号
方案2:从开头标识后提取
如果需要从DTMS - Specifiche之后开始匹配,同样开启跨行模式,用分组捕获目标内容:
DTMS - Specifiche\n(L'utilizzo.*?\.\n)
提取捕获组1的内容即可得到目标片段。
关键注意点
- 跨行匹配是核心:默认
.不匹配换行,必须开启该模式才能让匹配覆盖多行文本 - 非贪婪匹配
.*?确保匹配到第一个.就停止,不会过度匹配后续内容
内容的提问来源于stack exchange,提问作者Giada Bartolini
相关产品推荐
相关产品推荐

