您的位置:首页 > 其它

glob,正则表达式元字符,扩展正则表达式总结

2017-09-09 10:24 302 查看
globbing: 文件名通配
查询详细信息: man glob

元字符:
*: 匹配任意长度的任意字符
?: 匹配任意单个字符
[]: 匹配指定范围内的任意单个字符
[^]: 匹配指定范围外的任意单个字符

有几种特殊格式:
[a-z],[0-9],[a-zA-Z],[a-z0-9]
[[:upper:]]: 所有大写字母
[[:lower:]]: 所有小写字母
[[:alpha:]]: 所有字母
[[:digit:]]: 所有数字
[[:alnum:]]: 所有的字母和数字
[[:blank:]]: 包含空格和tab
[[:space:]]: 所有空白字符(blank+换行符)
[[:punct:]]: 所有标点符号
基本正则表达式的元字符:
字符匹配:
.   : 匹配任意单个字符
[]  : 匹配指定范围内的任意单个字符
[^] : 匹配指定范围外的任意单个字符
如:
[:upper:]、[:lower:]、[:alpha:]、[:digit:]、[:alnum:]、[:punct:]、[:space:]...
次数匹配:
*  : 匹配其前面的字符任意次;可为0次;
\? : 匹配其前面的字符1次或0次;
\+ : 匹配其前面的字符至少1次;
\{n\}: 匹配其前面的字符n次;
\{m,\}: 匹配其前面的字符至少m次;
\{m,n\}: 匹配其前面的字符至少m次,至多n次;
\{0,n\}: 匹配前面的字符至少0次,至多n次;

位置锚定:
^ : 行首锚定; 用于模式的最左侧;
$ : 行尾锚定; 用于模式的最右侧;
\< 或 \b : 词首锚定; 用于单词模式的左侧;
\> 或 \b : 词尾锚定; 用于单词模式的右侧;

^PATTERN$: 用于PATTERN来匹配整行;
^$: 空白行;
^[[:space:]]*$: 空白行或包含空白字符的行;
单词: 非特殊字符组成的连续字符(字符串)都称为单词;

分组及引用:
\(\): 将一个或多个字符捆绑在一起,当作一个整体进行处理;

分组括号中的模式匹配到的内容会被正则表达式引擎自动记录于内部的变量中,这些变量为:
\1: 模式从左侧起,第一个左括号以及与之匹配的右括号之间的模式所匹配到的字符;
\2: 模式从左侧起,第二个左括号以及与之匹配的右括号之间的模式所匹配到的字符;
以此类推
...

后向引用: 引用前面的分组括号中的模式所匹配到的字符;使用以上变量进行调用;

或:
\| : PATTERN1或者PATTERN2;
扩展正则表达式的元字符: (扩展基于标准正则,符号简化)
字符匹配:
.
[]
[^]

次数匹配:
*
?
+
{m}
{m,n}
{0,n}

位置锚定:
^
$
\<,\b
\>,\b

分组及引用:
()
\1
或:
|
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息