Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 注册前问题_Regex - Fatal编程技术网

Regex 注册前问题

Regex 注册前问题,regex,Regex,以下注册码是什么意思 '/^\w{4,20}$/' 这意味着字符串应该包含4到20个单词字符(字母、数字和下划线)。在这里: ^(插入符号)在应用正则表达式模式的字符串开头匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行后(即文件中的行的开头)使插入符号匹配 $(美元)在应用正则表达式模式的字符串末尾匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行之前(即在文件中的一行末尾)使美元匹配。如果字符串以换行符结尾,则在最后一个换行符之前也匹配 \w与单

以下注册码是什么意思

'/^\w{4,20}$/'

这意味着字符串应该包含4到20个单词字符(字母、数字和下划线)。在这里:

  • ^
    (插入符号)在应用正则表达式模式的字符串开头匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行后(即文件中的行的开头)使插入符号匹配
  • $
    (美元)在应用正则表达式模式的字符串末尾匹配。匹配位置而不是角色。大多数正则表达式风格都有一个选项,可以在换行之前(即在文件中的一行末尾)使美元匹配。如果字符串以换行符结尾,则在最后一个换行符之前也匹配
  • \w
    与单词字符(字母、数字和下划线)匹配的速记字符类。可以在字符类内部和外部使用
  • {n,m}
    其中
    n>=0
    m>=n
    在n到m次之间重复上一项。贪婪,因此在将重复次数减少到n次之前尝试重复m次
让我向您展示一个用法示例。比如,我们有包含以下内容的文件:

[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