我是正则表达式的新手。为了研究它,我指的是掌握正则表达式。
`My regular expression is`
[a-z's]{3,10}
and the input string is
cat is the cat
我正在查看https://regex101.com.在输出中,如果我将正则表达式更改为[a-z''s]{1,10},我会得到"cat is the",也会得到相同的结果。所以我无法了解这个输出是如何阻碍的。
Noramlly正则表达式引擎将从左到右扫描字符串中的匹配项。这里,实际的正则表达式是[a-z's]{3,10}
,它将从一开始就匹配10个小写字母或空格字符,因为它是贪婪的。CCD_ 2重复先前的令牌CCD_。如果该行包含长度为9
的小写字母或空格,则此正则表达式将与该行匹配,因为9位于3
、10
范围内
[a-z's]{1,10}
也做同样的工作,从一开始匹配10个字符的小写字母或空格。CCD_ 8将重复先前的令牌CCD_ 9最少1次且最多10次。因此,这也匹配一个只有一个字符的行,但上面的正则表达式匹配一个必须至少有三个字符的子字符串。