正则表达式匹配

时间:2014-12-04 11:38:44

标签: regex

愚蠢的初学者风格问题,但我现在已经和它搏斗了一段时间,搜索结果并不是我所追求的所以我会问你这些人!

鉴于以下文字,我只想提取与底线相关联的Id(即100)

<test viewId=101&somemoreStuff=999>Dont match this</test>
<test viewId=100&somemoreStuff=111>Match this</test>

所以我开始用这样的东西(正则表达式):

/viewId=(.+?)&

这捕获了第一行的Id,但是我在第二行的Id之后,所以我需要包含字符串“Match this”来区分这两者,像这样(伪代码):

/viewId=(.+?)&[ignore this section]>Match this<

谢谢!

2 个答案:

答案 0 :(得分:1)

viewId=(.+?)&[^>]*>Match this<

你可以尝试一下。参见演示。

http://regex101.com/r/yR3mM3/46

答案 1 :(得分:1)

积极的前瞻将是有帮助的

viewId=(.+?)(?=&.*Match this)

Regex Example

  • (?=&.*Match this)正面向前看。断言viewId后跟Match this