当前位置:   article > 正文

Shell编程——正则表达式(八)

Shell编程——正则表达式(八)

示例: 

egrep的全拼:extended regular expression 扩展的正则表达式

♡♡在正则表达式中,以下符号的含义

1、句点“.”用于匹配除换行符之外的任意一个字符

2、 “[]”用于指定一个字符集,从中匹配其中一个字符

比如:只能匹配ab或c

[abc]

3、“-”描述一个范围,例子:可以匹配所有的英文字母

[a-zA-Z]

4、“\<”和“\>”匹配一个单词

示例:

 在正则表达式中对单词的定义是:指两侧非单词字符分隔字符串

非单词字符指的是字母、数字、下划线以外任何字符

5、“^”和“$”用于匹配行首和行尾  

^a[a-z]y$ #匹配所有以a开头、y结尾、a和y之间包含小写字母的行

6、字符转义“\”,匹配特殊字符,如“\.”,“\[”

7、 ​​​​用户有时候希望某个字符能够不止出现一次,下面是用于重复匹配的符号

*重复0次或更多次
+重复一次或更多次
重复0次或1次
{n}重复n此
{n,}重复n次或更多次
{n,m}重复不少于n次,不多于m次

8、​​​​​反义:“^”表示除了这个字符,其他都可以,例如

[^wer] #表示匹配除了w/e/r的所有字符

♡​​​​​​​♡​​​​子表达式(分组):用括号限定

示例:

去掉括号的话:

♡​​​​​​​♡​​​​分支:以“|”竖线表示,或者

  1. 1、^h|t$ #匹配以h开头或者t结尾的字母
  2. 2、Jan(uary| |\.)
  3. #分支元字符“|”分隔了三个字符串,分别是uary、空格、句点
  4. #这意味着January或Jan或Jan.这样的字符串都能被匹配。
  5.  

♡​​​​​​​♡​​​​逆向引用 \

子表达式中捕获的内容可以在正则表达式中其他地方使用。例子:

  1. (\<.*\>).?( )*\1
  2. #(\<.*\>)——匹配任意长度的单词,第一个子表达式
  3. #.?——匹配0个或1个标点符号
  4. #( )*——匹配0个或多个空格,第二个子表达式
  5. #\1——指代第一个子表达式匹配到的模式,如果第一个子表达式匹配到的单词是dog,这里也自动成为dog

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/212810
推荐阅读
相关标签
  

闽ICP备14008679号