求满足特定前置匹配规则的PCRE正则表达式
PCRE正则表达式解决方案
正则表达式(以目标短语Phrase A: 为例)
(^Phrase A: .*\n)\K^Phrase A:
所需修饰符
m:多行模式,让^匹配每行开头,$匹配每行结尾
核心逻辑说明
(^Phrase A: .*\n):捕获前一整行以目标短语开头的内容(包含换行符),确保当前行的前一行确实是目标短语开头的句子\K:重置匹配起始点,丢弃前面捕获的内容,只保留后续需要选中的部分^Phrase A::匹配当前行开头的目标短语,这就是最终要选中的内容
适配自定义短语的注意事项
如果目标短语包含正则特殊字符(如.、*、+、?等),需要对这些字符转义,例如:
- 原短语:
Phrase A.*: - 转义后:
Phrase A\.\*:
测试验证
将上述正则应用到示例文本中,会精准选中第2、3、7、10行的Phrase A: ,完全符合需求。
内容的提问来源于stack exchange,提问作者Stan Duncan
相关产品推荐
相关产品推荐

