正则表达式,在另一行结束标记

时间:2018-05-05 08:53:38

标签: php line break

import random word = random.choice(wordList) new = '' for i in range(len(word)): if i%2 == 1: ## If the index is odd (which is when you want the letter to be retained) new += word[i] else: new += "-" 代码和regex代码位于不同的行时,我无法让start工作。

开始标记应为ending

结束<p class="psku">

</span></p>

正则表达式应该在此范围内:

<p class="psku">Number: rrfaee220-1</p>
<p class="availability order-only">Delivery: <span> 1-2 months</span></p>

1 个答案:

答案 0 :(得分:0)

首先,您在正则表达式中使用/作为分隔符。这很好,但你必须像这样逃避正则表达式中的正斜杠:

/<p class=\"psku\">SOMETHINGREGEX<\/span><\/p>/

如果你像我一样认为这看起来很乱,你也可以选择使用不同的角色作为分隔符:

@<p class=\"psku\">SOMETHINGREGEX</span></p>@

此外,SOMETHINGREGEX内有什么内容?我怀疑它包含一个点(.)。要使点匹配换行符并在多行中拉伸,您需要添加s修饰符:

@<p class=\"psku\">SOMETHINGREGEX</span></p>@s

然而,就像@konrados提到的那样,使用DOMDocument将是这里的最佳选择。使用正则表达式来解析HTML是非常不可靠的,因为你必须考虑很多格式选择:用大写字母书写的标签,在你不期望的地方用空格等等。但是,如果你确定所有的输入都是以相同的方式格式化,正则表达式应该做到这一点。