0
我有两个几乎理想的表达式,我得到一个很好的和另一种方式错误的输出。简单的正则表达式问题
data/holidays/photos-2012-2013/word-another-more-more-5443/"><span class="bold">word another</span> - word</a>
regex = 'data/holidays/photos-2012-2013/.+?(\d{4})/"><span class="bold">(.+?)</span>(.+?)</a>'
word-another-more-more
,word another
和word
,这一切都在上述变化。 以上正确打印出来,这样的元组的列表: ('6642', 'word another', ' - word')
data/holidays/photos-2012-2013/word-another-more-more-5443/">word- another - <span class="bold">word another</span></a>
regex1 = 'data/holidays/photos-2012-2013/.+?(\d{4})/">(.+?)<span class="bold">(.+?)</span></a>'
这上面打印出一些垃圾代码,尽管使用的语法是idential。输出也是一个包含元组的列表,但充满了不需要的代码。
你能看到第二个正则表达式有什么不对吗?
请不要试图用正则表达式解析HTML。为什么不使用HTML解析器呢? – 2013-03-08 22:20:48
如果这么简单,为什么你需要帮助? :-) – paxdiablo 2013-03-08 22:20:55
我同意Martijn Pieters,使用正则表达式几乎可以保证解析HTML失败;如果您可以使用XML/HTML解析器,则更有可能成功。除此之外,作为一般建议,我会说尝试通过http://regexpal.com/上的模拟器运行输入,并查看您的正则表达式是否按照您认为的方式工作。 – neilr8133 2013-03-08 22:23:02