RegEx匹配一个字符串并捕获以下字符串,直到跟随标记

时间:2014-07-18 17:08:57

标签: regex string

我正在尝试使用RegEx捕获字符串的一部分,但我不能捕获字符串本身但不能捕获以下字符串。

以下是我想要捕获的html源代码:

<div class="FindBoxTopL fl_left">
<b>Salary: </b> $10.00 <br>
<b>Location: </b> Wisconsin Madison<br>
<b>Country:</b>United States<br>

<b>Contract Type: </b>Part Time<br><b>Closing Date: </b>August 15, 2014<br>
</div>

从上面的html我想捕获:Wisconsin Madison

所以我会匹配字符串Location:\ s&lt; / b&gt;然后捕获字符串Wisconsin Madison并在分页符停止。

结束捕获输出将是:Wisconsin Madison

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:3)

使用正确的工具进行工作,而不是尝试使用正则表达式解析 HTML 。我会利用Html Agility Pack来使解析和提取值变得更容易。

如果您仍然选择使用正则表达式,则可以使用以下内容:

<b>Location:\s*</b>\s*([^<]*)

使用捕获论坛#1来访问您的匹配结果。

Live Demo

答案 1 :(得分:0)

使用此正则表达式:

/(?<=Location:\s\<\/b\>\s)(.+?)(?=\<br\>)/g

解释:

  • (?<=Location:\s\<\/b\>\s):lookbehind,您的字符串必须关注Location </b>
  • (?=\<br\>):预测,您的字符串必须后跟<br>

Regular expression visualization

<强> Try it !