【问题标题】:Regex - Match specific string, start value, end value and everything in between正则表达式 - 匹配特定字符串、起始值、结束值以及介于两者之间的所有内容
【发布时间】:2018-12-15 05:17:26
【问题描述】:

我有一个类似的字符串:

<abc=1 def =2 value='thevalue' othervalue='fjgfjf' ghi=4><rte=1 tyuy=2 value='uyrdu' othervalue='sruhhh' ghi=43><gffsd=1 ewre=2 value='evff' othervalue='zsds' gfg=43>

我需要一个正则表达式来匹配包含“thevalue”的字符串,包括开始的“”。因此,在上面的示例中,正则表达式将匹配:

<abc=1 def =2 value='thevalue' othervalue='fjgfjf' ghi=4>

要匹配的字符串总是以''结束。但是,我需要整个字符串,包括匹配的开始 ''。有什么想法吗?

【问题讨论】:

  • 社区期望看到来自 OP 的最少尝试。请包括它。
  • 试试:]*'thevalue'[^>]*>
  • 我很抱歉没有发布我的尝试,但我不希望通过分析我的失败尝试来横向发布。不是想成为一个水蛭。我会尽快更新帖子。谢谢。

标签: regex


【解决方案1】:

您可以使用以下内容:

(<[^>]*thevalue[^>]*>)

说明:

( 开始一个捕获组

&lt; 匹配左括号

[^&gt;]* 贪婪地匹配零个或多个不是右括号的字符

thevalue 匹配“值”

[^&gt;]* 贪婪地匹配零个或多个不是右括号的字符

&gt; 匹配右括号

) 结束捕获组

【讨论】:

  • 感谢您的解释。我不明白“贪婪地匹配零个或多个字符”如何工作的语法。但是,现在已经在上下文中解释了......我明白了。谢谢。
猜你喜欢
  • 2014-02-12
  • 1970-01-01
  • 2017-09-06
  • 1970-01-01
  • 2017-11-01
  • 2018-09-02
  • 1970-01-01
  • 2011-08-31
相关资源
最近更新 更多