您的位置:首页 > 编程语言 > Python开发

python正则表达式翻转字符串

2018-01-16 16:59 537 查看

前言

正则真的很复杂,尤其是我们这种正则用得不多,但是也要用到的人来说,烦恼。
翻转字符串的这个方法只能在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

以前没有遇到过这样的情况,所以记录一下
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息