Regex 注册前问题
以下注册码是什么意思Regex 注册前问题,regex,Regex,以下注册码是什么意思 '/^\w{4,20}$/' 这意味着字符串应该包含4到20个单词字符(字母、数字和下划线)。在这里: ^(插入符号)在应用正则表达式模式的字符串开头匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行后(即文件中的行的开头)使插入符号匹配 $(美元)在应用正则表达式模式的字符串末尾匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行之前(即在文件中的一行末尾)使美元匹配。如果字符串以换行符结尾,则在最后一个换行符之前也匹配 \w与单
'/^\w{4,20}$/'
这意味着字符串应该包含4到20个单词字符(字母、数字和下划线)。在这里:
(插入符号)在应用正则表达式模式的字符串开头匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行后(即文件中的行的开头)使插入符号匹配^
(美元)在应用正则表达式模式的字符串末尾匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行之前(即在文件中的一行末尾)使美元匹配。如果字符串以换行符结尾,则在最后一个换行符之前也匹配$
与单词字符(字母、数字和下划线)匹配的速记字符类。可以在字符类内部和外部使用\w
其中{n,m}
和n>=0
在n到m次之间重复上一项。贪婪,因此在将重复次数减少到n次之前尝试重复m次m>=n
[spongebob@conductor /tmp]$ cat file.txt
between4and20
therearetoomanyalphanumcharacters
foo
okay
现在,您只想获取与模式匹配的字符串'/^\w{4,20}$/'
:
[spongebob@conductor /tmp]$ grep -E '^\w{4,20}$' blah
between4and20
okay
在输出上,您只能看到满足正则表达式的行
啊,另外,不要在开头后立即将^
(插入符号)与^
混淆,后者否定字符类,使其与字符类中未列出的单个字符匹配。(如果插入符号放置在除开头[]之外的任何位置,则指定插入符号,例如[^a-d]
匹配x
(除a
、b
、c
或d
以外的任何字符)。表示:
- ^从一开始
- $和给定字符串的结尾
- \w{4,20}应该只有4-20个字母数字字符(如 a、 b、c、d、1、2、3……等,以及
因此没有混淆,
^
和$
不一定需要彼此,
如果正则表达式是:
'/^\w{4,20}/'
这意味着:匹配应该在字符串的开头,后跟4-20个字母数字字符
示例(粗体匹配):Foobarbaz
如果正则表达式模式是:
'/\w{4,20}$/'
这意味着:匹配应该在字符串的末尾,由4-20个字母数字字符进行
示例(粗体匹配):Foobarbaz你能帮我把它分解成什么意思吗?
/ opening delimiter
^ = start of sting
\w = word character
{x,y} min max
$ = end of string
/end delimiter