匹配除换行符以外的任意单个字符。在 awk 中,句点也能匹配换行符。 * 匹配任意多个(包括零个)在它前面的单个字符,或由正则表达式指定的字符。 [...] 匹配方括号中的字符类中的任意一个。...如果方括号中的第一个字符为脱字符(^),则表示否定匹配,即匹配除了换行符和类中列出的那些字符以为的所有字符。在 awk 中,也匹配换行符。连字符(-)用于表示字符类的范围。...通配符 句点(.)代表除换行符以外的任意字符的通配符(在 awk 中,句点甚至可以匹配嵌入式换行符),通常放在字面字符或其它元字符的前面或后面。...类中作为第一个字符的脱字符(^)将类中的所有字符都排除在被匹配之外,或者说匹配除换行符(awk 中换行符也可以被匹配)以外的没有列在方括号中的任意字符。..."*hypertext"* 看一系列数字: 1 5 10 50 100 500 1000 5000 匹配所有行: [15]0* 匹配除前面两行以外的所有行
个 {m,} 字符出现至少m个 {m} 字符出现m次 ^n 匹配以n开始的字符串 {n*} 表示至少包含零个或者多个n的字符串 {n?}...表示至少包含零个或者一个n的字符串 {n+} 表示至少一个n的字符串 n$ 匹配以n结尾的字符串 {n?} 表示至少包含零个或者一个n的字符串 + 至少一个 * 零个或者多个 ?...\r 匹配一个回车符。等价于 \x0d 和 \cM。 \n 匹配一个换行符。等价于 \x0a 和 \cJ。 \f 匹配一个换页符。等价于 \x0c 和 \cL。 \cx 匹配由x指明的控制字符。...\w a-zA-ZO-9 \W 除 \w 之外的任何字符,也就是 [Aa-zA-ZO-9] \d [0-9], 即数字 \D 除 \d 以外的任何字符,即 [^a-zA-Z0-9] \B 匹配非单词边界...{n}? {n,m}? {n,}? {,m}? 四、匹配优先量词 量词在正常情况下都是匹配优先的 匹配优先量词 * + ?
匹配除回车(\r)、换行(\n) 、行分隔符(\u2028) 和 段分隔符(\u2029) 以外的所有字符 | 表示或者,即cat|dog表示匹配cat或dog \d 匹配0-9之间的任意一个数字,相当于...[0-9] \d+ 匹配一个或多个连续的数字 \D 匹配除0-9以外的任意字符,相当于[^0-9] \w 匹配任意的字母、数字和下划线,类似但不等价于[A-Za-z0-9_] \w+ 匹配一次或多次任意的字母...、数字和下划线、类似但不等价于[A-Za-z0-9_] \W 匹配除字母、数字和下划线以外的字符,类似但不等价于[^A-Za-z0-9_] \W+ 匹配一次或多次除字母、数字和下划线以外的字符,类似但不等价于...[^A-Za-z0-9_] \s 匹配空格(包括制表符、空格符、换行符等),相等于[\t\r\n\v\f] \S 匹配非空格的字符,相当于[^\t\r\n\v\f] \b 匹配词的边界,即匹配词的开头和结尾...\B 匹配非词边界,即匹配词的中间 \cX 表示Ctrl-[X],其中的X是A-Z之中任一个英文字母,用来匹配控制字符 [\b] 匹配退格键(U+0008),不要与\b混淆 \n 匹配换行键 \r 匹配回车键
匹配除换行符以外的任意字符 \w 匹配字母或数字或下划线或汉字 \s 匹配任意的空白符 \d 匹配数字 \b 匹配单词的开始或结束 ^ 匹配字符串的开始 $ 匹配字符串的结束 代码/语法 说明 * 重复零次或更多次...\B 匹配不是单词开头或结束的位置 [^x] 匹配除了x以外的任意字符 [^aeiou] 匹配除了aeiou这几个字母以外的任意字符 例子:\S+匹配不包含空白符的字符串。...(在此模式下,$的精确含意是:匹配\n之前的位置以及字符串结束前的位置.) Singleline(单行模式) 更改.的含义,使它与每一个字符匹配(包括换行符\n)。...\cN ASCII控制字符。...(点符号)匹配的是除了换行符“\n”以外的所有字符。 以下为正确的正则表达式匹配规则: ([\s\S]*) 同时,也可以用 “([\d\D]*)”、“([\w\W]*)” 来表示。
匹配除回车(\r)、换行(\n) 、行分隔符(\u2028)和段分隔符(\u2029)以外的所有字符 位置字符号(^和$) $ 表示字符串的结束位置 ^ 表示字符串的开始位置 选择符(|) 竖线符号(|...\cX 表示Ctrl-[X],其中的X是A-Z之中任一个英文字母,用来匹配控制字符。 [\b] 匹配退格键(U+0008),不要与\b混淆。 \n 匹配换行键。 \r 匹配回车键。...脱字符(^) 表示可以匹配除字符类中字符以外的所有字符,因为这个符号和位置字符中的"^"开始位置字符是相同的,所以在使用时要注意区别,直接"^"放在正则表达式开头的是位置字符,放在"[]"中开头的"^"...\w 匹配任意的字母、数字和下划线,相当于[A-Za-z0-9_]。 \W 除所有字母、数字和下划线以外的字符,相当于[^A-Za-z0-9_]。...\s 匹配空格(包括换行符、制表符、空格符等),相等于[ \t\r\n\v\f]。 \S 匹配非空格的字符,相当于[^ \t\r\n\v\f]。 \b 匹配词的边界。
EREs PREs 描述 实例 \ \ \ 转义符,将特殊字符进行转义,忽略其特殊意义 a\.b就表示匹配a.b,而a.b则表示匹配除换行符之外的任意单个字符,例:aab,abb ^ ^ ^ 匹配行首...匹配除换行符\n之外的任意单个字符,awk则中可以 a.b则表示匹配除换行符之外的任意单个字符,例:aab,abb [] [] [] 匹配包含在[字符]之中的任意一个字符,可用[a-z],[0-9],[...[:punct:] [:punct:] [:punct:] 匹配标点符号 [[:punct:]]匹配所有带标点符号的行 [:space:] [:space:] [:space:] 匹配一个包括换行符(...\r)、回车在内的所有空白符 [[:space:]]匹配所有带换行符或回车的的行 [:graph:] [:graph:] [:graph:] 匹配任意一个可以看得见并可以打印的字符 [[:graph:]...]匹配所有带任意一个可以看得见并可以打印的字符的的行 [:cntrl:] [:cntrl:] [:cntrl:] 匹配任意一个控制字符(ASCII前32个字符) [[:cntrl:]]匹配所有带任意一个控制字符的行
col命令 在很多UNIX说明文件里,都有RLF控制字符,当我们把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col命令则能有效滤除这些控制字符。...语法 col [options] 参数 -b, --no-backspaces: 过滤掉所有的控制字符,包括RLF和HRLF。...-p, --pass: 传递未知控制序列,通常col将从输入中过滤出除自身识别和解释的以外的任何控制序列。 -h, --tabs: 将空格转换为制表符,这是默认设置。...示例 将col的帮助文档过滤掉反向换行符RLF后保存到col.txt。 col --help | col > col.txt 将col的帮助文档过滤掉控制字符后保存到col.txt。...col --help | col -b > col.txt 将col的帮助文档的制表符转换为空格后保存到col.txt。
例:“\n” 表示换行符,“\\(” 表示 “(“。 ^ 匹配字符串开始输入的位置。 $ 匹配输入的字符串最末位置。 * 零次或多次匹配前面的字符或子表达式。 例: zo* 匹配”z”和”zoo”。...只匹配单个”o”,而”o+”匹配所有”o”。 . 匹配除”\r 和 \n”之外的任何单个字符。 (pattern) 匹配 pattern 并捕获该匹配的子表达式。...例:”[^abc]”匹配”plain”中”p”,”l”,”i”,”n”。 [a-z] 匹配在范围内的字符。 例:”[a-z]”匹配a-z的所有小写字母。 [^a-z] 匹配不在范围内的字符。...例:”[^a-z]”匹配除a-z以外的字符。 \b 匹配边界字符。 例:”er\b”匹配边界上的”er”,不匹配”verb”中间的”er”。 \B 不匹配边界字符。...例:”er\B”匹配”verb”中间的”er”,不匹配”never”边界上的”er”。 \cx 匹配 x 指示的控制字符。
/匹配”angel”中的’el’和”angle.”中的’le’。 字符. 意义:(小数点)匹配除换行符外的所有单个的字符。...例如:/a{2,}不匹配”candy”中的’a’,但匹配”caandy”中的所有’a’和”caaaaaaandy.”中的所有’a’ 字符{n,m} 意义:这里的n和m都是正整数。...字符cX 意义:这里的X是一个控制字符。匹配一个字符串的控制字符。 例如:/cM/匹配一个字符串中的control-M。 字符d 意义:匹配一个数字,等价于[0-9]。...字符f 意义:匹配一个表单符 字符n 意义:匹配一个换行符 字符r 意义:匹配一个回车符 字符s 意义:匹配一个单个white空格符,包括空格,tab,form feed,换行符,等价于[ fnrtv...例如:/sw*/匹配”foo bar.”中的’ bar’。 字符S 意义:匹配除white空格符以外的一个单个的字符,等价于[^ fnrtv]。
除换行符外的任何字符 \b 单词边界 \B 非单词边界 \d 0~9的任何数字(与[0-9]相同) \D 任何非数字 \f 换页符(form feed) \n 换行符 \r 回车符 \s 任何一个空白字符...(与[ \f\n\r\t\v]相同) \S 任何一个非空白字符 \t 制表符 \v 垂直制表符 \w 任何字符、数字以及下划线(与[a-zA-Z0-9]相同) \W 除数字、字母及下划线外的其他字符 \...xnn 十六进制数字nn定义的ASCII字符 \onn 八进制数字nn定义的ASCII字符 \cX 控制字符X [abcde] 与其中任何字符匹配的字符集 [^abcde] 字符补集,与其中任何字符都不匹配的字符集...[a-e] 与其中的字符范围匹配的字符集 [\b] 退格字符的字面意义(不同于\b) {n} 前面的字符正好出现n次 {n,} 前面的字符至少出现n次 {n,m} 前面的字符出现n~m次 () 一个组...,可以在后面引用它 x|y x或y 正则表达式修饰符 修饰符 含 义 g 搜索所有的匹配(全局),不只是第一处匹配 i 进行不区分大小写的搜索 示例: 验证输入邮箱地址是否正确:re= /^\w
”abc”匹配”abcdabc”字符串的时候,将之匹配左边的abc,使用g将匹配两个”abc” /c 在开启g的情况下,如果匹配失败,将不重置搜索位置 /m 多行匹配模式 /s 让.可以匹配换行符”\n...是 匹配一个字符(正常情况下除换行符以外) $ 否 如果在字符串末尾(或者可能在某个换行符前面)true 正则表达式量词 最大 最小 占有 允许范围 {MIN,MAX} {MIN,MAX}?...FF) \F — \g{GROUP} 是 匹配命名或编号捕获组 \G 否 在前一个m//g匹配结束位置时为true \h 是 匹配所有水平制表符 \H 是 匹配除水平制表符以外的所有字符 \k 是...(通常为LINE FEED, LF) \N 是 匹配除换行符以外的所有字符 \N{NAME} 是 匹配命名字符,别名或序列,如\N{greek:Sigma}匹配 “Σ” \o{NAME} 是 匹配用八进制给定的字符...(不是整个字符串为大写) \U — 转为大写(而不是首字母大写),直到\E结束 \v 是 匹配任何垂直制表符 \V 是 匹配除垂直空白符以外的任何字符 \w 是 匹配任何”单词”字符(字母,数字,组合标记和连接符号
这包括所有大写和小写字母、所有数字、所有标点符号和一些其他符号。 这里的所有符号要排除一些特殊符号 非打印字符 非打印字符也可以是正则表达式的组成部分。...\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。...要匹配这些字符,请使用 ( 和 )。相当于一个子匹配 . 匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。 [ 标记一个中括号表达式的开始。要匹配 [,请使用 \ [。...例如, 'n' 匹配字符 'n'。\n 匹配换行符。序列 \\ 匹配 \,而 \( 则匹配 (。 丨 指明两项之间的一个选择。要匹配 丨,请使用 \丨。相当于OR { 标记限定符表达式的开始。...会包含除了最后一个> 以外的全部字符 如果使用非贪婪 // 就只会匹配到 , 这里匹配到第一个>时,就会认为已经触发结束条件了。
在日常运维中,经常需要监控某个进程,并打印某个进程的监控结果,通常需要打印匹配某个结果的行以及其前后各N行。...1)打印/opt/test中所有匹配"main is failed"的行 [root@mq-master02 ~]# cat /opt/test |grep "main is failed" It's...2)打印/opt/test中所有匹配"main is failed"的行及其前1行 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...3)打印/opt/test中所有匹配"main is failed"的行及其后1行 [root@mq-master02 ~]# cat /opt/test |grep "main is failed"...192.168.10.17 5)把/opt/test中所有匹配"main is failed"的行及其前1行的结果打印到/root/result.log中,并加上时间 [root@mq-master02
正则表达式语法=普通字符+特殊字符 普通字符=打印字符+非打印字符(元字符) 特殊字符=限定符+定位符 非打印字符:换页符(\f)、换行符(\n)、回车符(\r)、制表符(\t)、垂直制表符(\v)、...控制字符(\cM)、匹配任何空字符(\s)、匹配任何非空字符(\S) **()改为英文半角符号() 特殊字符: $:输入字符串结尾位置 ():标记一个子表达式开始于结束位置 *:前面的子表达式0次或者多次...:通配符,除 外任务字符 [、]:标记中括号要开始的地方,里面放表达式,表示字符集,但只表达一个字符 ?...:匹配前面的子表达式0次或者1次,非贪婪 :转义字符 ^:匹配输入字符串的开始位置 {、}:限定表达式开始的地方 限定符:*、+、?、{n}、{n,}、{n,m} *、+、?...区别:贪婪非贪婪 {n}、{n,}区别:匹配确定的次数与匹配至少的次数 例:
为了演示正则表达式的单行模式与多行模式,特意生成了带有换行符(ascii 10)的单个行,和不带换行符的多个行。...注意字符组(中括号内)中的 ^ 符号不再代表行头而是表示取反,意思其实就是“不匹配这些”或“匹配除这些以外的内容”。 3....匹配空白字符 \s 与 [ \t\n\r] 字符组匹配的内容相同,它会匹配空格、制表符(\t)、换行符(\n)、回车符(\r)。...匹配任意字符 用正则表达式匹配任意字符的一种方法就是使用点号(U+002E)。点号可以匹配除行结束符之外的所有字符,个别情况除外。...类似地,点号也可以与表示“一个或多个”的量词(+)连用: .+ 8. 单行模式与多行模式 单行模式(single line mode)使得通配符点 . 匹配所有字符,包括换行符。
非打印字符\cx 匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。...\f 匹配一个换页符。等价于 \x0c 和 \cL。\n 匹配一个换行符。等价于 \x0a 和 \cJ。\r 匹配一个回车符。等价于 \x0d 和 \cM。...匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。[ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。...要匹配 ? 字符,请使用 \?。\ 将下一个字符标记为或特殊字符、或原义字符、或向后引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。...例如,'o{2,}' 不能匹配 "Bob" 中的 'o',但能匹配 "foooood" 中的所有 o。'o{1,}' 等价于 'o+'。'o{0,}' 则等价于 'o*'。
例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。^匹配输入字符串开始的位置。...匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式。(pattern)匹配 pattern 并捕获该匹配的子表达式。...例如,“n”匹配字符“n”。“\n”匹配换行符。序列“\\”匹配“\”,“\(”匹配“(”。 ^ 匹配输入字符串开始的位置。...匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式。 (pattern) 匹配 pattern 并捕获该匹配的子表达式。...匹配除“\n”之外的任何单个字符。若要匹配包括“\n”在内的任意字符,请使用诸如“[\s\S]”之类的模式。 (pattern) 匹配 pattern 并捕获该匹配的子表达式。
3.用问号实现可选匹配 4.用星号匹配零次或多次 5.用加号匹配一次或多次 6.用花括号匹配特定次数 (Ha){3,5} 将匹配HaHaHa,HaHaHaHa,HaHaHaHaHa {n}匹配n次前面的分组...{n,}匹配n次或更多次前面的分组 {,m}匹配0次到m次分组 7.贪心匹配 Python的正则表达式默认是贪心的,即会尽可能匹配最长的字符串。...\D 除0到9的数字意外的任何字符 \w 任何字母、数字或下划线 \W 除字母、数字和下划线以外的任何字符 \s 空格、制表符或换行符 \S 除空格、制表符和换行符以外的任何字符 9.建立自己的字符分类...r'aeiouAEIOU'将匹配所有的元音字母 r'^aeiouAEIOU' 将匹配所有非元音字符 r'^\d+$' 匹配从开始到结束都是数字的字符串。...*匹配所有字符 12.通过传入re.DOTALL作为re.compile()的第二个参数,可以让句点匹配所有字符,包括换行 13.不区分大小写的匹配。
[A-Z] [A-Z] 表示一个区间,匹配所有大写字母,[a-z] 表示所有小写字母。 . 匹配除换行符(\n、\r)之外的任何单个字符,相等于 [^\n\r]。 [\s\S] 匹配所有。...匹配除换行符 \n 之外的任何单字符。要匹配 . ,请使用 \. 。 [ 标记一个中括号表达式的开始。要匹配 [,请使用 \[。 ? 匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。...中包含换行符 \n 默认情况下的圆点 . 是 匹配除换行符 \n 之外的任何字符,加上 s 修饰符之后, . 中包含换行符 \n。...例如,‘n’ 匹配字符 “n”。‘\n’ 匹配一个换行符。序列 ‘\’ 匹配 “” 而 “(” 则匹配 “(”。 ^ 匹配输入字符串的开始位置。...将匹配单个 “o”,而 ‘o+’ 将匹配所有 ‘o’。 . 匹配除换行符(\n、\r)之外的任何单个字符。要匹配包括 ‘\n’ 在内的任何字符,请使用像"(.|\n)"的模式。
\cx:匹配由x指明的控制字符,例如\cM匹配一个Control-M或者回车符,x的值必须为A-Z或a-z之一 \f:匹配一个换页符 \n:匹配一个换行符 \r:匹配一个回车符 \s:匹配任何空白字符...:匹配除换行符\n外的任意单个字符 [:标记一个中括号表达式的开始 ?...:匹配除换行符\n \r外的任何单个字符 (pattern):匹配pattern并捕获这一结果 (?:pattern):匹配pattern并不捕获这一结果 (?...[^a-z]:匹配任何不在指定范围内的任意字符 \b:匹配一个单词边界,即单词和空格间的位置 \B:匹配非单词边界 \cx:匹配由x指明的控制字符 \d:匹配一个数字字符 \D:匹配一个非数字字符...\f:匹配一个换页符 \n:匹配一个换行符 \r:匹配一个回车符 \s:匹配任何空白字符,等价于[\f\n\r\t\v] \S:匹配任何非空白字符 \t:匹配一个制表符 \v:匹配一个垂直制表符