Power Automate Desktop正则匹配:提取冒号后至换行前内容
解决Power Automate Desktop正则提取问题
样本数据
Car: New
Model: ABCD XPTO
BHP: 90
问题分析
你尝试的两个正则存在以下问题:
(?<=Model: ).+:若启用单行模式(Singleline),.会匹配包括换行在内的所有字符,导致返回后续所有内容;即便未启用单行模式,.+的贪婪匹配也可能因文本换行符不标准出现意外匹配。(?<=Model: )(.*?)(?=[\n\r]):非贪婪匹配.*?在正向断言未触发时可能匹配空字符串,且部分场景下换行符格式可能不是\n/r,导致匹配失败。
正确正则方案
1. 提取单个字段(比如Model)
使用以下正则,精准匹配冒号后到换行前的所有非换行字符:
(?<=Model: )[^\n\r]+
替换Model:为Car:或BHP:即可提取对应字段内容。
2. 一次性提取所有键值对
启用多行模式(Multiline)后,用以下正则匹配每行的键值:
^([^:]+):\s*(.*)$
- 捕获组1:提取键名(如Car、Model、BHP)
- 捕获组2:提取对应值(如New、ABCD XPTO、90)
Power Automate操作提示
- 在“提取匹配的文本”动作中,输入目标文本后粘贴对应正则表达式。
- 提取所有键值对时,需在正则选项里勾选多行模式,确保
^和$能匹配每行的开头与结尾。
内容的提问来源于stack exchange,提问作者program1
相关产品推荐
相关产品推荐

