通配符与正则表达式
通配符和正则表达式
2017-09-30-11:22:31个人原创,允许转载,请注明出处,作者,否则追究法律责任。
通配符适用的地方:shell命令行或者shell脚本中
正则表达式适用的地方:字符串处理时,一般有一般正则和Perl正则。
1,通配符
﹡ 匹配所有:匹配0个到多个的任意的字符。
?匹配任意单个字符
[ ] 匹配括号内的1个字符
[ ! ] 匹配 不在中括号内的一个字符 (和正则中的 [ ^ ]作用相似,都是反向选择)
当要把以上的* ,?,[ ]当成参数或者字符串处理时,就要限制shell不能当成通配符。这时的处理方法是:加单引号或者用\(反斜杠转义)
2,正则表达式
字符 |
作用 |
* |
前一个字符匹配0次或任意多次 |
. |
匹配除了换行符以外任意一个字符 |
^ |
匹配行首。例如:^helloworld会匹配以helloworld开头的行 |
$ |
匹配行尾。例如:helloworld$会匹配以helloworld结尾的行 |
[ ] |
匹配中括号里的任意指定的一个字符,但只匹配一个字符 |
[^] |
匹配除中括号以外的任意一个字符 |
\ |
转义符,取消特殊含义 |
{n} |
表示其前面的字符恰好出现n次 |
{n,} |
表示其前面的字符出现不小于n次 |
{n,m} |
表示其前面的字符至少出现n次,最多出现m次 |
字符匹配
.:匹配任意单个字符
*:匹配其前面一个字符出现任意次
?:匹配其前面的字符1次或0次
+:匹配其前面一个字符出现至少一次(在扩展正则表达式中)
位置匹配
^:锚定行首
$:锚定行尾
\<或\b:锚定词首,其后面的任意字符必须作为单词首部出现
\>或\b:锚定词尾,其前面的任意字符必须作为单词尾部出现
\B:非单词的开头或结尾
^$:空白行
分组匹配用() :
(ac)* :匹配ac这个分组出现任意次
\1:引用第一个左括号以及与之对应的右括号所包括的所有内容,同理还有\2,\3
相关文章
- Linux中正则表达式和字符串的查询、替换(tr/diff/wc/find)
- Matlab中正则表达式
- 正则表达式匹配
- 面试复盘 常见面试题 正则表达式 验证邮箱 Java 1-100万整数全部随机生成不重复 遍历一个文件夹下所有的文件和子文件 数据库查询班级最高分 创建一个学生表,记录学生父母名字
- 正则表达式匹配a标签的href
- LINUX——正则表达式
- 《正则表达式经典实例(第2版)》——第 2 章 正则表达式的基本技能 2.1匹配字面文本
- 正则表达式
- c# 正则表达式
- url映射 ccf (Java正则表达式80分解法)
- 正则表达式详解
- 正则表达式贪婪模式中的非贪婪模式
- 【Shell篇<Ⅳ>】——正则表达式、三剑客之sed流式编辑器
- 正则表达式快速掌握包括贪婪与懒惰匹配
- 正则表达式
- 常用正则表达式(转载)
- 【Python养成】:正则表达式测试案例 —— 1
- C#正则表达式Regex类的用法-OK
- C# 正则表达式
- [Mysql] 正则表达式