作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有这样的外发电子邮件:
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/
我是一名优秀的程序员,十分优秀!