当前位置: 首页 > 知识库问答 >
问题:

为什么我的正则表达式在VB.NET中不匹配

彭鸿畅
2023-03-14

我不知道为什么这个正则表达式不匹配。也许你能发现错误。

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

我想匹配>>>>>>客户端9462<<<<<捕获该号码,以及此后的所有内容,直到另一个客户端号码。所以我的第一个捕获是“9462”,第二个捕获是“Had a program exception;please check the error log”。

它使用JavaScript设置在regex101.com中工作得很好。VB.NET有什么不匹配的地方?

共有1个答案

韩豪
2023-03-14

Noob指出/n可能是一个问题。通过查看它,我发现该字符串包括一个CR和LF(当debug.print>粘贴到regex101.com中时,它删除了CR)。因为正则表达式只在不匹配的情况下查找。所以我使用>+Client(.+)<+\r?\n?([^>]作为正则表达式来修复它。

 类似资料:
  • 主要内容:用于定义正则表达式的构造,Regex类正则表达式是可以与输入文本进行匹配的模式。.Net 框架提供了允许这种匹配的正则表达式引擎。模式由一个或多个字符文字,运算符或构造组成。 用于定义正则表达式的构造 有各种类型的字符,运算符和结构可以让你定义正则表达式。 点击下面的链接来查看这些结构。 字符转义 Character类 锚定 分组结构 量词 反向引用结构 交替结构 替换结构 杂项结构 Regex类 类用于表示正则表达式,类有以下常用的

  • 问题内容: 我不明白为什么这个简单的正则表达式匹配不返回匹配对象。它返回None我在做什么错? 我完全是newby(昨天开始),想编写一个小程序来搜索文件夹树中的某些文件,打开这些文件并在这些文件中找到某些行,然后将这些行打印到一个新文件中。为了完成第一步,我想匹配os.walk返回的文件名,并使用某种模式进行匹配。因此,现在我正在检查正则表达式的工作方式,并且据我所知,以下代码应该匹配,但是当我

  • 有没有人试图描述与正则表达式匹配的正则表达式? 由于重复的关键字,这个主题几乎不可能在网上找到。 它可能在实际应用程序中不可用,因为支持正则表达式的语言通常具有解析它们的方法,我们可以将其用于验证,以及一种在代码中分隔正则表达式的方法,可用于搜索目的。 但是我仍然想知道匹配所有正则表达式的正则表达式是什么样子的。应该可以写一个。

  • 问题内容: 正则表达式在Python中的工作方式非常令人困惑,以至于我对每一秒的传递感到更加愤怒。这是我的问题: 我了解这会产生结果: 虽然这不是: 没关系。我得到了很多。现在,我正在生成一个正则表达式,如下所示: 如果我现在这样做了,则由于第二个示例失败的原因,它也会失败。 我的问题:有什么办法可以做我想做的事情? 问题答案: 答案本身 其背后的原因是’r’前缀告诉Python不要分析您传递给它

  • 我有一个regex101正确工作的regex: 有2个匹配,如预期的。 现在我想用std的regex_token_iterator拆分相同的: 这可以很好地编译,但没有任何东西被打印到stdout。 我认为正则表达式必须以其他方式编写,你能指出我的错误吗?