gpt4 book ai didi

正则表达式在outlook vba中提取文本和数字

转载 作者:行者123 更新时间:2023-12-04 16:08:28 25 4
gpt4 key购买 nike

我有这样的外发电子邮件:

Dear XYZ,

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

CASE ID: 123654

Best Regards,
XYZ

文本可以是一个或两个段落。我想制作两个正则表达式。一个应该给我段落中的文本,另一个应该给我数字,即 CASE ID。结果应如下所示:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.


123654

我已经成功创建了一个 RegEx 来使用 (CASE ID\s*[:]+\s*(\w*)\s*)但我还没有能够提取段落。任何帮助将不胜感激。

最佳答案

基本上,您可以或应该改为执行一个正则表达式,这将提供匹配组。

在几乎任何其他语言中它看起来像这样(使用“gs”标志忽略换行符):

(.+?)CASE ID: (\d+)

但是对于 vbscript,我们有这样的东西:

(.*?[^\$]*)CASE ID: (\d+)

你还需要像这样处理匹配组:

Dim RegEx : Set RegEx = New RegExp
RegEx.Pattern = "(.*?[^\$]*)CASE ID: (\d+)"
RegEx.Global = True
RegEx.MultiLine = True
Dim strTemp : strTemp = "Lorem ipsum " & VbCrLf & "Cannot be translated to english " & VbCrLf & "CASE ID: 153"
WScript.Echo RegEx.Execute(strTemp)(0).SubMatches(0)
WScript.Echo RegEx.Execute(strTemp)(0).SubMatches(1)

问题是,只有在消息中包含常量字符串“CASE ID:”时,这才会起作用。如果字符串丢失,例如“:”之后的换行符不起作用

关于正则表达式在outlook vba中提取文本和数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47420800/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com