回答
儘可能多的數字(至少1
),然後儘可能少的字符(除了換行符)。非貪婪限定符(?
)並沒有真正的幫助,除非你在其後的模式中有其餘的模式,否則它將盡可能少匹配,在這種情況下,總是0
。
>>> import re
>>> re.match(r'(\d+).*?', '123').group()
'123'
>>> re.match(r'(\d+).*?', '123abc').group()
'123'
(\d+)
和[\d]+
之間的區別是,前者羣體,後者則沒有。然而,([\d]+)
將是等同的。
>>> re.match(r'(\d+)', '123abc').groups()
('123',)
>>> re.match(r'[\d]+', '123abc').groups()
()
這是表達式:'(\ d +)。*?(\ S *)',它是否與任何非白色字符(在一個組中)至少有一次匹配,所以如果我有「5000個球」 '會在組1和組[2]中的[空白]球? –
@JamesHallen親身體驗 – jamylak
@JamesHallen你爲什麼不試試?它給出了'('5000','')'。 '。*?'匹配空字符串,因爲它不是貪婪的,'\ S *'匹配空字符串,因爲下一個字符是空格。 –
(\d)+ One or more occurance of digits,
.* followed by any characters,
? lazy operator i.e. return the minimum match.
有人可以解密這種模式嗎? \ d +(?:\。\ d *)? – Tengis
group1將至少有一個數字,group0將包含group1並可能包含其他字符但不一定。
編輯回答編輯的問題:AFAIK在分組之外的其他2應該沒有區別。
- 1. 正則表達式的含義(正則表達式高爾夫)
- 2. 這個正則表達式的含義
- 3. 正則表達式中`$/i`的含義
- 4. \'.-在正則表達式中的含義
- 5. 正則表達式的含義
- 6. 「[^]」正則表達式模式的含義是什麼(javascript正則表達式)?
- 7. 基本正則表達式含義?
- 8. python正則表達式中'(?i)password'的含義是什麼?
- 9. Python的正則表達式:「喜歡」正則表達式模式?
- 10. 正則表達式正則表達式正則表達式使用正則表達式,但不是與Python
- 11. 的Python:正則表達式
- 12. Python的正則表達式
- 13. Python的正則表達式?
- 14. Python的正則表達式
- 15. Python的正則表達式
- 16. Python的正則表達式
- 17. 正則表達式的Python
- 18. Python的正則表達式{
- 19. 正則表達式python表達式
- 20. 正則表達式「包含」另一個正則表達式
- 21. Python的正則表達式刪除Word用正則表達式
- 22. Js正則表達式到Python的正則表達式
- 23. Python正則表達式子
- 24. Python row.get(正則表達式)
- 25. Python 3.3正則表達式?
- 26. python正則表達式
- 27. Python和正則表達式
- 28. Python - 正則表達式dir
- 29. python unicode正則表達式
- 30. Python正則表達式
第一個是一個組,第二個不是。 – njzk2