如果找到正则表达式匹配

时间:2016-07-26 09:03:51

标签: javascript html regex

我有以下两个陈述

<p class="chapterHeadA" id="cha35" style="text-indent: 0%;">
<p class="chapterHeadA" id="cha36">

我想匹配两者,即如果我有style="text-indent: 0%;",则匹配它,否则忽略它并匹配其余部分(如第二个声明中所示)

我正在尝试下面的内容,但它似乎无法运作。

<p class=\"(.*)\" id=\"(.*)\" (style=\"text-indent: (.*)%;)?\">

请让我知道我哪里出错了,我该怎么办?

我还有其他类似的东西

<p class="chapterHeadA" id="cha15" style="text-indent: 0%;"><span class="bold">
<p class="chapterHeadA" id="cha15" style="text-indent: 0%;">1. <span class="bold">

当我应用我的正则表达式时,匹配被捕获到=bold>结束,是否有一种方法可以限制它只捕获> p class标记

由于

2 个答案:

答案 0 :(得分:1)

您应该在(...)?中包含空格和最后一个双引号,因为它们不在您的第二个字符串中。

<p class=\"(.*)\" id=\"(.*)\"( style=\"text-indent: (.*)%;\")?>

至于你更新的问题,请将正则表达式用引号括起来,以便它与可能的最小文本量相匹配。

<p class=\"(.*?)\" id=\"(.*?)\"( style=\"text-indent: (.*?)%;\")?>

答案 1 :(得分:-1)

你可以使用:

/<p.* style="text-indent: 0%;">/gm

this