【问题标题】:regex inbetween two strings两个字符串之间的正则表达式
【发布时间】:2013-09-26 10:44:08
【问题描述】:

我正在寻找可以帮助我匹配两个字符串之间的文本的正则表达式。

我有以下字符串

Daily Update From: x.mydomain.local on DC01-PC

我正在使用以下正则表达式

(?m)From: .*?on

但我想要的是只从字符串中严格提取 x.mydomain.local。

有谁知道我如何做到这一点。

干杯,

【问题讨论】:

  • 您需要(?m) 做什么?此修饰符仅适用于锚点 ^$,您不会在正则表达式中使用它们,因此使用修饰符 (?m) 是没有用的。

标签: c# asp.net regex parsing


【解决方案1】:

您可以使用捕获组(然后您将在第一个捕获组中获得x.mydomain.local):

(?m)From: (.*?) on

或使用环视:

(?m)(?<=From: ).*?(?= on)

【讨论】:

  • 那不是第二个捕获组吗?
  • @KlasLindbäck 不,因为(?m) 不是捕获组。它只是设置了m 修饰符。
  • @KlasLindbäck (? ... ) 保留用于修饰符,您可以有 (?s)(?m)(?i) 等等,具体取决于支持的内容。 (你甚至可以将它们组合起来:(?smi)) m 表示多行,s 如果表示单行,i 表示不区分大小写。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-05-30
  • 2012-09-26
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
  • 2014-12-08
  • 1970-01-01
相关资源
最近更新 更多