当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>
答案 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是非常不可靠的,因为你必须考虑很多格式选择:用大写字母书写的标签,在你不期望的地方用空格等等。但是,如果你确定所有的输入都是以相同的方式格式化,正则表达式应该做到这一点。