假設我想匹配 words "green apple"。我也想匹配像"green big apple".
如何為此撰寫正則運算式?
我寫了r"green [a-z ] apple",但這不起作用。
uj5u.com熱心網友回復:
你很接近,但你 在里面[]而不是外面,而且這個詞可能不存在所以你需要將整個事物(和一個空格)包裹在 a 中?,以匹配一個詞或沒有詞(可以替換*為 for任意數量的中間詞)。
import re
pattern = r"green ([a-z] )?apple"
print(re.match(pattern, "green apple").group(0))
print(re.match(pattern, "green big apple").group(0))
輸出:
green apple
green big apple
uj5u.com熱心網友回復:
圖案
這應該可以正常作業。
/(green)(. )(apple)/
您的問題的答案并不簡單,因為您需要決定如何處理不同的場景。例如:
- 你想捕捉“綠色”和“蘋果”這個詞之間的一切嗎?
- 捕獲組是否相關,或者您只是想知道這兩個詞是否出現在“綠色”在“蘋果”之前的給定序列中?
- 所說單詞的順序是否重要,它們是否必須成對出現,即對于“green”的每次出現,是否必須有一個“apple”?
匹配示例
以下是模式將捕獲的內容的示例。
青蘋果
綠色的大蘋果
香蕉綠色 小藍莓 蘋果橙色 草莓
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/361865.html
下一篇:顯示當前活動的圓點滑動滑塊
