文件通配符与正则表达式

Posted w520

tags:

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

正则表达式

又称规则表达式。(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。

限定符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 n 或 n, 或 n,m 共6种。

正则表达式的限定符有:

字符

描述

*

匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于0,。

+

匹配前面的子表达式一次或多次。例如,‘zo+‘ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 1,。

?

匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 、 "does" 中的 "does" 、 "doxy" 中的 "do" 。? 等价于 0,1。

n

n 是一个非负整数。匹配确定的 n 次。例如,‘o2‘ 不能匹配 "Bob" 中的 ‘o‘,但是能匹配 "food" 中的两个 o。

n,

n 是一个非负整数。至少匹配n 次。例如,‘o2,‘ 不能匹配 "Bob" 中的 ‘o‘,但能匹配 "foooood" 中的所有 o。‘o1,‘ 等价于 ‘o+‘。‘o0,‘ 则等价于 ‘o*‘。

n,m

m 和 n 均为非负整数,其中n <= m。最少匹配 n 次且最多匹配 m 次。例如,"o1,3" 将匹配 "fooooood" 中的前三个 o。‘o0,1‘ 等价于 ‘o?‘。请注意在逗号和两个数之间不能有空格。

 

定位符

定位符使您能够将正则表达式固定到行首或行尾。它们还使您能够创建这样的正则表达式,这些正则表达式出现在一个单词内、在一个单词的开头或者一个单词的结尾。

定位符用来描述字符串或单词的边界,^ 和 $ 分别指字符串的开始与结束,\\b 描述单词的前或后边界,\\B 表示非单词边界。

正则表达式的定位符有:

字符

描述

^

匹配输入字符串开始的位置。如果设置了 RegExp 对象的 Multiline 属性,^ 还会与 \\n 或 \\r 之后的位置匹配。

$

匹配输入字符串结尾的位置。如果设置了 RegExp 对象的 Multiline 属性,$ 还会与 \\n 或 \\r 之前的位置匹配。

\\b

匹配一个单词边界,即字与空格间的位置。

\\B

非单词边界匹配。

注意:不能将限定符与定位符一起使用。由于在紧靠换行或者单词边界的前面或后面不能有一个以上位置,因此不允许诸如 ^* 之类的表达式。

若要匹配一行文本开始处的文本,请在正则表达式的开始使用 ^ 字符。不要将 ^ 的这种用法与中括号表达式内的用法混淆。

若要匹配一行文本的结束处的文本,请在正则表达式的结束处使用 $ 字符。

 

通配符

1.首先我们应该知道简单了解通配符的作用?

 通配符与我们的学过的正则表达式有点相似。就是当我们要同时对多个文件进行操作的时候,我们就可以去通过通配符去实现,这些符号不是作为文字去实现,而是作为代替文件名称的字符串,下面我们来介绍它的实现

2.先列出一些常用的通配符指令:

 技术图片

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

文件通配符与正则表达式

正则表达式与Linux通配符

shell正则表达式

文件通配符与正则表达式

linux通配符与正则表达式

linux学习---通配符与正则表达式