如何忽略正则表达式中的字符串中间?

时间:2016-02-29 21:26:11

标签: regex

例如,输入字符串为:

  

ptr = ptr->call();

我想忽略以下几点之间的内容

  

Application:</b>&nbsp; </td>

因此,如果找到以下示例字符串,则会生成匹配:

  

":</b>&nbsp; "

     

Application:</b>&nbsp; </td>

     

Application: </td>

本质上,正则表达式将忽略字符串的中间部分,但如果存在则仍将被视为匹配。我想说明以后页面上的文字可能不会是粗体,或者添加更多或更少的空格。

1 个答案:

答案 0 :(得分:1)

假设这些是the middle part of the string

的可接受值
  • &nbsp;
  • </b>
  • 空格(制表符,空格等)

并且在Application之后将始终存在冒号,然后您可以使用以下内容:

Application:(?:&nbsp;|\s|<\/b>)*<\/td>

我们通过使用(非捕获)组Application {{匹配:后跟(?:,然后中间字符串可能值的 1}},零次或多次),然后是*

See this in action with tests