下面的reg ex code是什么意思?
'/^\w{4,20}$/'发布于 2011-01-20 14:14:07
这意味着字符串应包含4到20个单词字符(字母、数字和下划线)。这里:
^ (插入符号)匹配正则表达式模式应用到的字符串的开头。匹配位置而不是字符。大多数正则表达式都有一个选项,使插入符号在换行符之后匹配(例如,在文件中的行首),因为well$ (美元)匹配字符串末尾的正则表达式模式。匹配位置而不是字符。大多数正则表达式风格都有一个选项,可以在换行之前(即在文件中的行尾)匹配美元。如果字符串以与单词字符(字母、数字和下划线)匹配的行break\w速记字符类结尾,则还会在最后一个换行符之前进行匹配。可以在字符classes.{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在输出中,您只能看到满足正则表达式的那些行。
啊,还有,不要把^ (插入符号)和^混淆在第一个[之后,后者否定了character类,导致它匹配character类中没有列出的单个字符。(如果放置在除开头[)之外的任何位置,则指定插入符号,例如[^a-d]匹配x (除a、b、c或d之外的任何字符)。
发布于 2011-01-20 14:18:30
这意味着:
我想在学习正则表达式的时候,你会发现Wikipedia's page on Regular Expressions有很大很大的帮助。
为了避免混淆,如果正则表达式是:^和$不一定相互需要:
'/^\w{4,20}/'
这意味着:匹配应该在字符串的起始处,后跟4-20个字母数字字符。
示例(粗体匹配):Foobar baz
如果正则表达式模式是:
'/\w{4,20}$/'
这意味着:匹配应该在字符串的末尾处,由4-20个字母数字字符组成
示例(粗体匹配):Foo barbaz
发布于 2011-01-20 14:19:27
/ opening delimiter
^ = start of sting
\w = word character
{x,y} min max
$ = end of string
/end delimiterhttps://stackoverflow.com/questions/4744026
复制相似问题