新行的正则表达式在 UiPath 中不起作用
Regular Expression for New line is not working in UiPath
我在文本文件中有以下文本,我想在 UiPath 中使用正则表达式、公司名称(即 SOME ANALYTICS)读取第二行。
INVOICE DETAILS Invoice To:
SOME ANALYTICS
Invoice# : R0264
Invoice Date: 27/06/20
我已经尝试在 https://regexr.com/ 上使用正则表达式来检索数据并且它工作正常。但是相同的表达式在 UiPath 上不起作用。
(?<=To:[\n\r]).+
您可以使用
(?<=^.*\n).+
详情:
(?<=^.*\n)
- 正后视匹配以 LF char 结尾的第一行之后出现的位置
.+
- 除了 LF 字符(第二行)之外的一个或多个字符。
参见regex demo。
另一种选择是从等式中取出 CR,并通过将 ^
替换为 \A
:
使正则表达式多行标志不敏感
(?<=\A[^\r\n]*\r?\n)[^\r\n]+
这个正则表达式匹配
(?<=\A[^\r\n]*\r?\n)
- 紧接在前面的位置
\A
- 字符串开头
[^\r\n]*
- 除 CR 和 LF 之外的零个或多个字符尽可能多
\r?\n
- 一个可选的 CR,然后是 LF char
[^\r\n]+
- 除了 LF 和 CR 之外的一个或多个字符。
参见 this regex demo。
您可以匹配结束于 To:
的行,然后捕获组 1 中的下一行。
^.* To:\r?\n(.+)
^
行首(多行)(或使用 \A
匹配整个字符串的开头)
.* To:
可选择匹配后跟 space 和 To:
的任何字符
\r?\n
匹配一个可选的回车 return 和一个换行符
(.+)
捕获组 1,匹配任意字符 1+ 次
使用 [\n\r]
匹配换行符或回车符 return。如果有回车return和换行,你也可以试试:
(?<=To:\r?\n).+
我在文本文件中有以下文本,我想在 UiPath 中使用正则表达式、公司名称(即 SOME ANALYTICS)读取第二行。
INVOICE DETAILS Invoice To:
SOME ANALYTICS
Invoice# : R0264
Invoice Date: 27/06/20
我已经尝试在 https://regexr.com/ 上使用正则表达式来检索数据并且它工作正常。但是相同的表达式在 UiPath 上不起作用。
(?<=To:[\n\r]).+
您可以使用
(?<=^.*\n).+
详情:
(?<=^.*\n)
- 正后视匹配以 LF char 结尾的第一行之后出现的位置
.+
- 除了 LF 字符(第二行)之外的一个或多个字符。
参见regex demo。
另一种选择是从等式中取出 CR,并通过将 ^
替换为 \A
:
(?<=\A[^\r\n]*\r?\n)[^\r\n]+
这个正则表达式匹配
(?<=\A[^\r\n]*\r?\n)
- 紧接在前面的位置\A
- 字符串开头[^\r\n]*
- 除 CR 和 LF 之外的零个或多个字符尽可能多\r?\n
- 一个可选的 CR,然后是 LF char
[^\r\n]+
- 除了 LF 和 CR 之外的一个或多个字符。
参见 this regex demo。
您可以匹配结束于 To:
的行,然后捕获组 1 中的下一行。
^.* To:\r?\n(.+)
^
行首(多行)(或使用\A
匹配整个字符串的开头).* To:
可选择匹配后跟 space 和To:
的任何字符
\r?\n
匹配一个可选的回车 return 和一个换行符(.+)
捕获组 1,匹配任意字符 1+ 次
使用 [\n\r]
匹配换行符或回车符 return。如果有回车return和换行,你也可以试试:
(?<=To:\r?\n).+