正则表达式匹配字符串.md

摘要

Power Platform中,一般情况下,我们可以通过indexsubstring来实现字符串的提取。但是很多时候,我们希望提取多个内容就会比较复杂。在常规字符串的提取流程中,最常用的就是正则表达式Regex,正则表达式可以帮助我们很方便的时候从文本中提取满足条件的内容。

借助Office Scripts实现Power Automate flow使用正则表达式

  • 打开Office365 Excel Online
  • 点击Automate -> New Script, 修改名称为ExcelRegexMatch
  • 复制粘贴以下代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function main(
workbook: ExcelScript.Workbook,
inputString: string,
pattern: string,
flags: string
): Array<string> {
let regExp = new RegExp(pattern, flags);
let matches: Array<string> = inputString.match(regExp);

if (matches) {
return matches;
} else {
return [];
}
}
  • 点击保存
  • 创建Instant cloud flow, 命名为Meekou.Regex,选择PowerApps(V2)
  • 添加输入参数
    • RegexInput 表示需要提取的原内容
    • RegexPattern 表示正则表达式
    • Flags 表示正则表达式的特征
  • 添加步骤Excel Online(Business) -> Run script
  • 设置以下参数
    • Location OneDrive for Business
    • Document Library OneDrive
    • File /米可爱分享.xlsx (我们不操作Excel数据,此处Excel文件可以选择任意文件)
    • Script 前面保存的Script文件名
    • inputString 选择输入RegexInput
    • pattern 选择输入RegexPattern
    • flags 选择输入Flags
  • 添加步骤Respond to a PowerApp or flow
  • 添加输出ResultRun script的执行结果@{outputs('Run_script')?['body/result']}