我不确定为什么这个正则表达式不匹配。也许你可以发现错误。
Dim rx2 As New Regex(">+ Client (.+) <+\n([^>]*)", RegexOptions.IgnoreCase)
If rx2.IsMatch(fiContents) Then
Debug.Print("Matched")
End If
fiContents:
============ Computer 200xx; User Comp\nnnn; Oct, 07 2015 10:33 AM
Print list: 9462
>>>>> Client 9462 <<<<<
Had a program exception; please check the error log
我想匹配&gt;&gt;&gt;&gt;&gt;客户9462&lt;&lt;&lt;&lt;&lt;捕获数字以及之后的所有内容到另一个客户端号码。所以我的第一次捕获是“9462”,第二次是“有一个程序异常;请检查错误日志”。
使用JavaScript设置在Regex101.com中完美运行。 VB.net与它不匹配有什么不同?
答案 0 :(得分:0)
Noob指出/n
可能是个问题。调查它我意识到该字符串包括CR和LF(当debug.Print&gt;粘贴到Regex101.com时它删除了CR)。因为正则表达式只是寻找LF它没有匹配。所以我使用>+ Client (.+) <+\r?\n?([^>]
作为正则表达式来修复它。这非常有效。