我對RE很新。 「*」和「+」之間的區別是什麼?他們似乎都儘可能多地指出前面的元素是零次還是多次?正則表達式中的元素
-2
A
回答
0
+
裝置一個或更多次,而*
是零或多次
「*」 的原因所產生的RE,以匹配前面的RE的 的或更多的重複,如儘可能多次重複。 ab *將匹配'a', 'ab'或'a',後跟任意數量的'b'。
'+'導致產生的 RE匹配或更多次重複先前的RE。 ab +將與 'a'匹配,然後匹配任意非零數字的'b';它不會匹配 'a'。
0
*
匹配0次或多次。即使沒有匹配,它也是成功的。因此a*
即使在字符串中也會成功bcd
+
匹配1次或多次。至少應該有一場比賽,然後才能成功。如果我們使用a+
,那麼至少應該有一個a
成功匹配。因此,將失敗的字符串bcd
這兩個*
和+
在本質上貪婪所以他們將之前terminating or backtracking
0
- 的
+
量詞儘可能匹配選擇前面的字符1
次以上,如儘可能多次 *
量詞選擇前面的字符0
或更多次,儘可能多的次數
實例
使用Regex foo\d+bar
(具有+
):
foo1bar # Match
foo234bar # Match
foobar # Not a Match
使用Regex foo\d*bar
(具有*
):
foo1bar # Match
foo234bar # Match
foobar # Match
從Python Docs上re
引述:
+
- 使所得到的RE,以匹配前面的RE的1
或更多次重複。ab+
將匹配a
,後面跟着任何非零數字b
s;它不會匹配只是a
*
- 使所得到的RE以匹配0
或多次重複前述RE的,因爲多次重複作爲是可能的。ab*
將匹配a
,ab
,或a
後跟任意數量的b
小號
相關問題
- 1. 正則表達式元素
- 2. xml元素的正則表達式
- 3. javascript正則表達式在表達式中插入新元素
- 4. Perl正則表達式查找元素中的元素
- 5. JavaScript正則表達式元素匹配
- 6. 正則表達式完全從元素
- 7. 獲取正則表達式元素
- 8. 正則表達式重複元素
- 9. 元正則表達式?
- 10. 用正則表達式編號列表中的元素在C#
- 11. 正則表達式來查找匹配列表中的元素
- 12. 正則表達式(正則表達式)
- 13. 正則表達式(正則表達式)
- 14. 正則表達式(正則表達式)
- 15. jflex中的元音正則表達式
- 16. 正則表達式匹配模式和組正確元素
- 17. 螞蟻正則表達式(正則表達式元素)模式中的轉義字符是什麼
- 18. 正則表達式正則表達式返回的值正則表達式
- 19. 正則表達式中的零寬度元素是什麼?
- 20. 正則表達式中提取隱藏的元素
- 21. PHP:在html元素中查找類的正則表達式
- 22. C#。硒。查找元素中的正則表達式
- 23. XSD中多個元素的正則表達式
- 24. Javascript中輸入元素的正則表達式匹配
- 25. 在Perl中使用正則表達式的匹配元素
- 26. 從字符串中提取元素的正則表達式
- 27. 的Python:正則表達式的元素與列表
- 28. Java正則表達式模式找到空的HTML/XML元素
- 29. 正則表達式中的正則表達式?
- 30. Java中的正則表達式(正則表達式和語法)
'幫助( '再')'那給你很多的信息,包括這一點。 – zondo