我对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