前言
正则真的很复杂,尤其是我们这种正则用得不多,但是也要用到的人来说,烦恼。 翻转字符串的这个方法只能在python中用,其他语言估计行不通。
代码演示
简单测试代码:
url = "https://www.baidu.com/Page=2342132&Estrac=238uju-kfhsdjhbg-098-fdjskah2"
假如这里有这样的url,在爬虫爬取数据后,我需要将它入库,我希望拿到Estrac的字符串,我该如何匹配? 如果用
re.search('[\w-]+', url)
这样也只能取到https,当然了,我想的是将它逆向翻转,怎么办?for循环将元素一个个逆转么?太费力了:
url[::-1]
在python中,只需要这样就可以将它的所有字符串逆转了,print输出得到结果:
2haksjdf-890-gbhjdshfk-uju832=cartsE&2312432=egaP/moc.udiab.www//:sptth
然后我再用刚才的正则将它匹配,匹配后我将正则得到的结果再一次翻转[::-1],就能得到我想要的结果了,代码又少又容易看得懂:
import re
url = "https://www.baidu.com/Page=2342132&Estrac=238uju-kfhsdjhbg-098-fdjskah2"
matchobj = re.match('[\w-]+', url[::-1])
if matchobj:
result = matchobj.group(0)
print(result[::-1])
得到的值是:
238uju-kfhsdjhbg-098-fdjskah2
以前没有遇到过这样的情况,所以记录一下