1. 程式人生 > 其它 >正則表示式的例項

正則表示式的例項

正則視覺化:https://jex.im/regulex

案例一:

"""
例項1:使用sub提取招聘資料(去除所有標籤)
"""
import re
job_text = """
<div>
崗位職責: 
<p><br>1. 負責音樂教育產品服務端應用開發 </p>
<br>2. 負責開發服務端的音樂資料處理工具(音訊、視訊、MIDI、曲譜等) 
<br>3. 負責大資料相關的採集、預處理、後處理的開發 
<br>崗位要求: 
<br>1. 熟悉基於Python的服務端應用開發,掌握至少一種Python服務端框架(Flask/Django/FastAPI等) 
<br>2. 有良好的的編碼習慣,命名規範、邏輯清晰、程式碼冗餘率低 
<br>3. 有音視訊等媒體相關程式設計經驗者優先 
<br>4. 有tensorflow或基礎機器學習開發經驗的優先</div> 
"""
result = re.sub("</?.+?>","",job_text)
print(result)

"""
輸出結果:
崗位職責: 
1. 負責音樂教育產品服務端應用開發 
2. 負責開發服務端的音樂資料處理工具(音訊、視訊、MIDI、曲譜等) 
3. 負責大資料相關的採集、預處理、後處理的開發 
崗位要求: 
1. 熟悉基於Python的服務端應用開發,掌握至少一種Python服務端框架(Flask/Django/FastAPI等) 
2. 有良好的的編碼習慣,命名規範、邏輯清晰、程式碼冗餘率低 
3. 有音視訊等媒體相關程式設計經驗者優先 
4. 有tensorflow或基礎機器學習開發經驗的優先 
"""

案例二:

"""
作業2:提取網址
原網址:
https://v.huya.com/cat/51
https://699pic.com/tupian-501366475.html
http://www.xye.vip/?wd=999
http://www.test.xy/?wd=1244&u=4

替換後為:
https://v.huya.com/
https://699pic.com/
http://www.xye.vip
http://www.test.xy/
"""
import re

str1 = "https://v.huya.com/cat/51"
str2 = "https://699pic.com/tupian-501366475.html"
str3 = "http://www.xye.vip"
str4 = "http://www.test.xy/?wd=1244&u=4"

result1 = re.sub("(https?://.+?/).*",lambda x:x.group(1),str1)
result2 = re.sub("(https?://.+?/).*",lambda x:x.group(1),str2)
result3 = re.sub("(https?://.+?/).*",lambda x:x.group(1),str3)
result4 = re.sub("(https?://.+?/).*",lambda x:x.group(1),str4)

print(result1)
print(result2)
print(result3)
print(result4)

"""
輸出結果:
https://v.huya.com/
https://699pic.com/
http://www.xye.vip
http://www.test.xy/
"""

案例三:

"""
作業3:提取出文字中所有的英文單詞以及數字
熟悉基於Python的服務端應用開發,掌握至少一種Python服務端框架(Flask/Django/FastAPI等),薪水100000
"""
import re
str = "熟悉基於Python的服務端應用開發,掌握至少一種Python服務端框架(Flask/Django/FastAPI等),薪水100000"
result = re.findall("[a-zA-Z0-9]+",str)
print(result)
# 輸出結果:['Python', 'Python', 'Flask', 'Django', 'FastAPI', '100000']