^[^a-z] 中括号内^代表取反
“[^]”匹配除中括号的字符以外的任意一个字符
"^{^a-z}"
匹配不用小写字母开头的行
"^[^a-zA-Z]"
匹配不用字母开头的行
“[]”匹配中括号中指定的任意一个字符,只匹配一个字符
"s[ao]id"
匹配 s 和 i 字母中,要不是 a、要不是 o
"[0-9]"
匹配人意一个数字
"^[a-z]"
匹配小写字母开头的行
“^”匹配行首,“$”匹配行尾
“^M”
匹配以大写“M“开头的行
“n$”
匹配以小写“n”结尾的行
“^$”
会匹配空白行
“.”匹配除了换行符外任意一个字符
“s..d”
会匹在 s 和 d 这两个字母之定有两个字符的单词
“s.*d”
匹配在 s 和 d 字母之向有任意字符
“.*”
匹配所有内容
1
基础正则表达式
Linux 基础正则表达式
基础正则表达式元字符表
.匹配除了换行符外的任意字符
"s..d"会匹配在s和d这两个字母之间只有两个字符的单词
"s.*d"匹配在s和d字母之间有任意字符
".*"匹配所有内容
^匹配行首
$匹配行尾
"^M"匹配以大写"M"开头的行
"n$"匹配以小写"n"结尾的行
"^$"会匹配空白行
[]匹配中括号中指定的任意一个字符,只匹配一个字符
"s[ao]id"匹配s和i字母中要不是a、要不是o
"[0-9]"匹配任意一个数字
"^[a-z]"匹配用小写字母开头的行
[^]匹配除中括号的字符以外的任意一个字符
"^[^a-z]"匹配不用小写字母开头的行
"^[^a-zA-z]"匹配不用字母开头的行
grep:
-n 列出匹配行的行号
grep “^$” 匹配空白行
1、"."匹配除了换行符外任意一个字符
"s..d" #会匹配在s和d这两个字母之间一定有两个字符的单词
"s.*d" #匹配在s和d字母之间有任何字符
".*" #匹配所有内容
grep "s..d" test.txt
grep "s.*d" test.txt
grep ".*" test.txt #查找所有内容
2、"^"匹配行首,“$”匹配行尾
"^M" #匹配以大写字母"M"开头的行
"n$" #匹配以小写字母“n”结尾的行
"^$" #会匹配空白行
grep -n "^$" test.txt #-n显示空白行号
3、"[]"匹配中括号内指定的任意一个字符,只匹配一个字符,与通配符用法相同
"s[oa]id" #匹配s和i字母中,要么是a,要么是o
"[0-9]" #匹配任意一个数字
"^[0-9]" #匹配以数字开头的行
"^[0-9]$" #匹配以数字结尾的行
"[a-z]$" #表示匹配以小写字母结束的行
"^[^a-z]" #匹配不用小写字母开头的行,“[]”内的“^”表示取反
"[^a-zA-Z]$" #匹配不以字母结尾的行,linux中,a-zA-Z表示所有字母
"a*"和".*"虽然都显示全部内容,但不太相同:"a*"对不包含a的行不标识颜色;".*"认为全部内容匹配,标识颜色。
"^$"会匹配空白行
^在中括号[]之外表示行首,在[]之内表示行尾。
正则表达式:
^a:匹配以a为首的字符串
b¥匹配以b为尾的字符串
[^]取反正则表达式
[]正则表达式
^和$正则表达式
.正则表达式
注意在[]之内用^表示取反
[]匹配规则
^ $ 匹配规则
.匹配规则
一个字母* 这样是错误的
要匹配所有内容用 .*
a* #匹配0个或者多个存在"a"的内容。
. #匹配一个任意字符,不包括“换行符”(类似于“通配符”?)
^a #以“a”开头的内容
d$ #以“d”结尾的内容
[0-9] #匹配0-9任一个。
^[^A-Za-z] #“第一个字符”不包含字母的内容
1、“.”匹配除了换行符外任意一个字符
如:“s..d”会匹配在s和d这两个字母之间一定有两个字符的单词
“s.*d”匹配在s和d字母之间有任何字符
“.*”匹配所有内容
2、“^”匹配行首,“$”匹配行尾
如:"^M" #匹配以大写字母"M"开头的行
"n$" #匹配以小写字母“n”结尾的行
"^$" #会匹配空白行,grep -n "^$" test.txt ,显示行号更加明显
3、“[]”匹配中括号内指定的任意一个字符,只匹配一个字符,与通配符用法相同
如:"s[oa]id" #匹配s和i字母中,要么是a,要么是o
"[0-9]" #匹配任意一个数字
"^[0-9]" #匹配以数字开头的行,同理"[a-z]$"表示匹配以小写字母结束的行
"^[^a-z]" #匹配不用小写字母开头的行,“[]”内的“^”表示取反
"[^a-zA-Z]$" #匹配不以字母结尾的行,linux中,a-zA-Z表示所有字母
正则表达式用法
正则表达式