python3表达式超过限制还能换行吗?
2023-03-20 15:24:46 时间
记得每次做试卷的时候,都要对末尾800字的界限感觉忧伤,毕竟想要码到那么多字数也不是容易的事情。然而在python中,由于有字符的限制,如果一个表达式超出了限制,那也不是好事情,处理起来会比较困难。那么,python3表达式超过限制还能换行吗?今天小编就这个问题带领大家一起探索。
Source Text:
<a href="###" data-sname="微信" data-icon="http://b.hiphotos.bdimg.com/wisegame/pic/item/e126cffc1e178a8230ff5ad9f103738da877e88c.jpg" data-type="soft" data-size="36598395" data-versionname="6.3.13.49" data-versioncode="740" data-package="com.tencent.mm" data-download_url="http://gdown.baidu.com/data/wisegame/faf7795f5e16ff68/weixin_740.apk" data-updatetime="2016-02-03" class="event-exe-install download s-index-icon" tjurl="http://as.baidu.com/a/download?tj=game_8828716_微信&docid=8828716&pid=2786482313&pre=web_am_rank&d=2&f=rank_3000_1">安 装</a>
匹配到里面的data-sname,data-versionname等信息,验证的表达式如下:
<ashref="###" data-sname="(.*)"sdata-icon="(.*)"sdata-type="(.*)"sdata-size="(.*)"sdata-versionname="(.*)"sdata-versioncode="(.*)"sdata-package="(.*)"sdata-download_url="(.*)"sdata-updatetime="(.*)"(.*)</a>
Python实现如下:
line = sourcetext # 太长不复制了,就是上面提到的 r=<ashref="###"data-sname="(.*)"sdata-icon="(.*)"sdata-type="(.*)"sdata-size="(.*)"sdata-versionname="(.*)"sdata-versioncode="(.*)"sdata-package="(.*)"sdata-download_url="(.*)"sdata-updatetime="(.*)"(.*)</a> p = re.search(r, line) print p.group(0)
问题是这个表达式太长了,超过了PEP8要求的每行79个字符,请问有没有什么办法让表达式支持换行又不影响匹配?
解决:
python 语法有 续行 符号,但不适合这个情况。超过80个字符的,切分成短字符串,再连接起来。
小伙伴们看着最后的代码很长有点产生退却的想法,其实只是对正则表达式进行可拆分,去掉了表达式就是一个框架啦,感兴趣的小伙伴快试试吧。更多Python学习推荐:PyThon学习网教学中心。
相关文章
- Python中的函数与方法 以及Bound Method和Unbound Method
- 一文贯通python文件读取
- Python 中的异步编程:Asyncio
- 7个你现在就该学习Python的理由
- 提高Python运行效率的六个窍门
- Python数据科学:神经网络
- 一篇文章看懂大数据分析就业前景及职能定位
- R和Python中的文本挖掘:8个入门小贴士
- 告诉你为什么Python有点慢,但我却无所谓?
- 专注学习DevOps编程语言Top 5推荐
- Python发送邮件脚本
- Python多进程并行编程实践: mpi4py 的使用
- Python语言在未来的发展前景
- Python vs Ruby: 谁是最好的 web 开发语言?
- Python对Ruby:谁在Web开发领域更胜一筹?
- Python一行代码完成并行任务
- Python开发者2017应该关注的七个类库
- python爬虫入门基本知识
- 在终端中优雅地编写Python
- Python机器学习实战:信用卡欺诈检测