使用正则表达式的技巧
生活随笔
收集整理的這篇文章主要介紹了
使用正则表达式的技巧
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
import re# 從"1-2*(60+(-40.35/5)-(-4*3))"中取整數
ret=re.findall(r"\d+","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60', '40', '35', '5', '4', '3'] 把40.35當成兩個數了
# 你要匹配的內容太沒有特點了 容易和你不想匹配的內容混在一起
ret= re.findall(r"\d+\.\d+|\d+","1-2*(60+(-40.35/5)-(-4*3))")
print(ret)#['1', '2', '60', '40.35', '5', '4', '3'] 已經把小數問題解決了,但是還是不對
ret= re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60','', '5', '4', '3']
# 通過優先顯示已經把小數過濾掉了,但是為什么會有空字符串呢,可以把|兩邊都加上括號看下
ret= re.findall(r"(\d+\.\d+)|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret)#[('', '1'), ('', '2'), ('', '60'), ('40.35', ''), ('', '5'), ('', '4'), ('', '3')]
# 元組里左邊顯示的是小數,右邊顯示的是整數.
# 現在可以把上一個再優化一下
ret= re.findall(r"\d+\.\d+|(\d+)","1-2*(60+(-40.35/5)-(-4*3))")
print(ret) #['1', '2', '60', '', '5', '4', '3']
ret.remove("") #把空字符串去掉
print(ret) #['1', '2', '60', '5', '4', '3']
# 這回就拿到了所有的整數了
?
轉載于:https://www.cnblogs.com/kenD/p/9494303.html
總結
以上是生活随笔為你收集整理的使用正则表达式的技巧的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android学习笔记——Handler
- 下一篇: 函数传参之商品价格计算—JS学习笔记20