正则表达式及相关内容
一般而言,globing和 regular expression 区别在于前者匹配文件的名称,后者用于匹配文件中的内容。 globbing中常用的元字符有: *:任意长度的任意字符 ?: 任意单个字符 []:指定范围内的字符 [^]J:指定范围外的字符 对于regular expression(简写为regexp)而言可分为basic regexp和extended regexp basic regexp中元字符有 . :匹配任意单个字符 []:匹配指定范围内的字符 [^]:匹配指定范围外的字符 字符集合:[:digit:],[:lower:],[:upper:],[:punct:],[:alpha:],[:alnum:],[:space:]等 #真正使用还需添加[]来选定范围。 匹配次数: * :匹配其前面的字符任意次 包括0次 例如:a*b 表示 a出现任意次后有1个b .* :任意长度的任意字符 #正则表达式工作在贪婪模式下,尽可能多的匹配 ?:匹配其前面的字符1次或0次 {m,n}:匹配其前面的字符至少m次,之多n次 {1,}:匹配至少1次 {0,3}:匹配至少0次,至多3次 位置锚定 ^ :锚定行首,此字符串后面的任意内容必须出现在行首。 $:锚定行尾,此字符前面的任意内容必须出现在行尾。 ^$:空白行 &;或者b:其后面的任意字符必须作为单词首部出现 锚定词首 &;或者b:其前面的任意字符必须作为单词尾部出现 锚定词尾 &;root&; = brootb 分组: (): (ab)* ab作为一个整体 后向引用 1 :第一个左括号以及与之对应的右括号所包括的所有内容 2: grep:使用基本正则表达式定义的模式来过滤文本的命令 -i:忽略大小写 -v:invert -o:only --color -E:使用拓展的正则表达式 -A #:after 匹配并显示之后的#行 -B #:before -C #:context (上下文) 拓展正则表达式:(不标注表示与基本含义相同) 字符匹配: . [ ] [^] 次数匹配: *: ?: +:匹配其前面的字符至少1次 { } 位置锚定: ^ $ &; &; 分组: ():分组 1,2,3 | :or 例如: grep 'C|cat' file 和 grep '(C|c)at' file {n}:n为数字,表示前面的表达式重复n次 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |