问题描述
Germany|fbf4cf3c-ebfe-43c8-aaf9-6811bd3488b0
获得 Germany
的 Regex 必须如何?获得 fbf4cf3c-ebfe-43c8-aaf9-6811bd3488b0
的 Regex 必须如何?
我使用 Nintex Workflow 并尝试了 .+?(?=\|)
,但它无法正常工作。
解决方法
您可以使用 2 个捕获组,您可以使用 $1
和 $2
获取匹配项:
(\w+)\|([a-f0-9]+(?:-[a-f0-9]+)+)\b
-
(\w+)
捕获组 1,匹配 1+ 个字字符 -
\|
匹配|
-
(
捕获 第 2 组-
[a-f0-9]+
匹配 1+ 个字符 a-f 0-9 -
(?:-[a-f0-9]+)+
重复 1+ 次匹配-
和 1+ 个字符 a-f o-9
-
-
)\b
关闭第 2 组,后跟单词边界以防止部分匹配
要获得单独的匹配项,您还可以使用环视。
Match 1 个或多个单词字符,使用正向预测在右侧断言 |
和类似公会的格式:
\w+(?=\|[a-f0-9]+(?:-[a-f0-9]+)+\b)
或者 match 一个类似公会的模式,使用正向后视来断言一个单词 char 后跟一个 |
:
(?<=\w\|)[a-f0-9]+(?:-[a-f0-9]+)+\b