【发布时间】:2016-05-14 03:26:53
【问题描述】:
我在 Excel 工作表中有一个单元格,其文本字符串的格式如下所示:
第 1 部分:
1.一些文本字符串
2.另一个文本字符串
''excel 中的新行分隔两个部分''
1.第 2 节从这里开始
2. 第 2 节中的另一个文本字符串
我使用这段代码通过正则表达式提取section1和section2(记住匹配):
RE.pattern = "(^Section1:\s.*\w)[\s]+(1\..*[\w]+$)"
RE.Global = True
RE.IgnoreCase = True
For iCnt = 1 To 2
arrStr(iCnt-1) = re.Replace(str, "$"&iCnt)
WScript.Echo arrStr(iCnt-1)
Next
但第一次记忆匹配的输出显示单元格的所有内容(Section1 和 Section2)。请帮助我了解如何分别解析 section1 和 section2。
【问题讨论】:
-
.*是贪婪的。它的解析比你想象的要远得多。尝试将其替换为.*? -
将 .* 替换为 .*?,但结果相同。
-
^([\w\W]*?)\n\n+([\w\W]+)似乎有效,在regex101.com 试试吧