正则表达式重温

Posted 芬乐

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式重温相关的知识,希望对你有一定的参考价值。

bash Shell本身并不支持正则表达式,使用正则表达式的是Shell命令和工具,如grep,sed,awk等。但是bash Shell可以使用正则表达式中的一些元字符实现通配

一、基本正则表达式元字符

1. “*”  表示重复该字符前边字符0次或多次。

2. “.”   表示任意字符.

3. “^”  表示该字符后边的字符是行首。

4. “$”  表示该字符前边的字符是行尾。

5. “[]”

  • [a-z]      表示小写字母a-z
  • [0-9]  表示数字0-9
  • 若 “^” 在框里边,那么久表示非。
  • [^a-c]   匹配不在a-c范围内的所有字符。

6. “\”  转义字符

7. “\<\>”  精确匹配

  • \<the\>     表示匹配the单词,但是不包阔含有the的单词,如they,there。

8. “\{\}”  指定前边字符重复的次数。

  • \{n\}          匹配前面字符出项 n 次。
  • \{n,\}         匹配前边字符最少出现 n 次。
  • \{n,m\}      匹配前边字符出现 n-m 次。

二、正则表达式的扩展

1. “?”  匹配?前边字符 0 次或 1 次。

2.  “+”  匹配前边字符1次或多次(最少也要1次)

3. “()”和“|”  通常两字符结合使用。表示一组可选的字符的集合。  

  • sjx(a|b|c)zl     只要含有a,b,c任意一个都可以匹配到。
  • 其实()很少用,“[]”可以完全取代“()”,如: sjx(a|b|c)al和sjx[abc]zl就等价。
  • “|”也可以用在在多个正则表达式之间。

三、通配

最常用的通配符包括正则表达式元字符,与正则表达式中的表示的意义不完全一致,如;

  • “*”表示任意位的任意字符,可以是多个任意字符。
  • “?”表示1个任意字符。
  • “^”表示取反。

四、grep命令

 

以上是关于正则表达式重温的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式

正则表达式与扩展正则表达式区别

PHP 正则表达式总结

正则表达式

正则表达式

正则表达式“或“的使用