如何用Regex匹配ABC与CDE间仅含单个前置制表符的文本
解决方案:匹配Power Automate Desktop中指定规则的文本
直接用下面的正则表达式即可满足需求:
(?<=ABC\s*\n)(^\t[ a-zA-ZäöüÄÖÜßé@.()&-/\"“]+$)(?=[\s\S]*?CDE)
正则逻辑拆解
(?<=ABC\s*\n):通过正向后预查,锁定匹配内容必须出现在ABC(可跟随任意空白字符及换行)之后^\t:严格匹配行首的单个制表符,确保目标内容仅带一个前置制表符,天然排除了带两个制表符的行[ a-zA-ZäöüÄÖÜßé@.()&-/\"“]+:匹配你指定的所有允许字符组成的内容$:匹配行尾,确保整行都是符合要求的内容(?=[\s\S]*?CDE):通过正向预查,锁定匹配内容必须出现在CDE之前,[\s\S]*?采用非贪婪模式,避免跨多个CDE块匹配
效果验证
- 精准匹配:
Rotterdam、Amsterdam、China、Japan这类符合条件的内容 - 自动排除:带两个制表符的
Hello、I have two tabs in front of me,以及ABC、CDE本身
内容的提问来源于stack exchange,提问作者SevenTwo
相关产品推荐
相关产品推荐

