|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
有下列数据:
原始数据 | 模拟结果 | 代码结果 | windows97于1997年出版了,97OK很好用 | 很好用 | | 在1998年又出版了windows98 ,和97一样,98也OK也很好用 | 也很好用 | | 后来又出版了windowsxp,xp更OK更好用 | | |
代码如下:
Sub test()
Dim reg, i&
Set reg = CreateObject("vbscript.regexp")
reg.Pattern = "(?=windows)(?=\d+年).*OK(.*)"
For i = 2 To 4
Cells(i, 3) = reg.Execute(Cells(i, 1))(0).submatches(0)
Next i
End Sub
我的要求是,如果同时包含windows和年份(\d+年),则取OK后面的字符,如果不同时包含就不取。
我用表达式 (?=windows)(?=\d+年).*OK(.*) 为什么得不到正确结果呢?谁能解释一下原因。
正则学习请教3.rar
(6.49 KB, 下载次数: 8)
|
|