{2,5}中5的意义是什么?它匹配前面令牌的2到5个。这是一个惰性匹配,在满足下一个标记之前将匹配尽可能少的字符。
我举了示例abcccccabccc
并且在{2,5}中没有看到5的使用?它只连续2次匹配。
有人可以举出任何第二个参数扮演任何角色的例子吗? (在这种情况下为5 {2,5}?)
abc{2,5} is greedy match
First match: abccccc
Second match: abccc
abc{2,5}? is lazy match
First match: abcc
Second match: abcc
答案 0 :(得分:2)
请参阅此示例>>
字符串:123abcccccabc
正则表达式:/123(abc{2,5}?)abc/
将匹配组#1中的abccccc
,因为匹配后面的abc
也需要匹配。
知道了吗?
答案 1 :(得分:2)
说你的正则表达式是"(.{0,10}?)"
。这将匹配最多10个字符的引用字符串。例如
""
"foo"
"1234567890"
懒惰会确保字符串中不能出现引号。例如,如果你匹配一个带有两个引用部分的字符串,那么正则表达式只匹配第一个:
// "(.{0,10}?)"
"foo" "bar"
^^^
省略惰性修饰符,它会匹配两者,错误地捕获foo" "bar
作为字符串内容。
// "(.{0,10})"
"foo" "bar"
^^^^^^^^^
答案 2 :(得分:0)
是和否。它的意义取决于它的后续内容。例如,abc{2,5}?c
与abc{2,5}?a
不同。