标题: [问题求助] 正则表达式在VBS中怎样匹配以指定字符串开头的行? [打印本页]
作者: shelluserwlb 时间: 2015-1-4 15:05 标题: 正则表达式在VBS中怎样匹配以指定字符串开头的行?
- Dim str,Rs,Match
- str = "a100_b100_a100_01" & vbCrLf & "b100_a100_b100_02" & _
- vbcrlf & "c100_03" & vbCrLf & "c200_a100_c100_04" & _
- vbCrLf & "a100_c200_05" & vbCrLf & "d100_06" & _
- vbCrLf & "a100_07"
- Set Rs = New RegExp
- Rs.Global = True
- Rs.IgnoreCase = True
- Rs.Pattern = "(a100).+"
- Set Match = Rs.Execute(str)
- For Each m In Match
- MsgBox m.Value
- Next
复制代码
上面这段代码查找所有有"a_100"的字符行并显示。
现在我只想查找每行以"a_100"开头的行,该怎么改匹配模式?
我曾试过将匹配模式改为Rs.Pattern = "^(a100).+",但是好像不管用。
作者: yu2n 时间: 2015-1-4 20:35
... 肉眼观察没发现任何含 a_100 的字符。
猜测你可能是想在第7行下面插入:复制代码
来开启多行匹配模式。
作者: CrLf 时间: 2015-1-4 20:53
补充楼上,还要加上 ^ 限定匹配头部- Rs.MultiLine = True
- Rs.Pattern = "^(a100).+"
复制代码
作者: shelluserwlb 时间: 2015-1-5 13:20
本帖最后由 shelluserwlb 于 2015-1-5 13:22 编辑
说错了,是“a100“, 谢谢各位朋友的回复,我试一下。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |