如何解释正则表达式


how to interpreter regular expression

我是正则表达式的新手。为了研究它,我指的是掌握正则表达式。

`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位于310 范围内

[a-z's]{1,10}也做同样的工作,从一开始匹配10个字符的小写字母或空格。CCD_ 8将重复先前的令牌CCD_ 9最少1次且最多10次。因此,这也匹配一个只有一个字符的行,但上面的正则表达式匹配一个必须至少有三个字符的子字符串。