【问题标题】:.Net Regex to retrieve substring with start and end string exclusive.Net Regex 检索具有独占开始和结束字符串的子字符串
【发布时间】:2015-03-13 19:31:39
【问题描述】:

我需要使用正则表达式从某些文本中检索子字符串。目标的模式是它们都以特定的字符串开头和结尾,例如我需要从下面获取“abc”和“def”之间的所有内容:

xxxxxxxxxxxabcxxxxxxxxdefxxxxxxxx

我使用的表达式是

abc.*def

因为“.*”表示任意长度的任意字符。

但对于此任务中的某些情况,我不需要检索“abc”和“def”,只需要检索两者之间的所有内容。我可以使用字符串操作来修剪头部和尾部,但我想知道是否有一个正则表达式可以完成这项工作。

谢谢。

【问题讨论】:

  • 为什么不让你的正则表达式 abc(.*)def 只捕获中间部分?

标签: regex


【解决方案1】:

在这种情况下,环视会有所帮助。这是表达式:

(?<=abc).*(?=def)

【讨论】:

  • 使用环视而不是这样做有什么好处:abc(.*)def?
  • "abc(.*)def" 将匹配整个 "abcXXXdef" 字符串,然后将 "XXX" 视为捕获组。使用环视表达式“(?
猜你喜欢
  • 2023-03-27
  • 1970-01-01
  • 2013-03-11
  • 1970-01-01
  • 2017-02-20
  • 2018-11-14
  • 2020-11-17
  • 1970-01-01
  • 2012-02-11
相关资源
最近更新 更多