广告位联系
返回顶部
分享到

通配符和正则表达式介绍

正则表达式 来源:互联网 作者:佚名 发布时间:2026-09-19 21:40:50 人浏览
摘要

一、通配符 通配符也叫文件名替换,它主要是作用于匹配文件名,常用命令是ls、find、cp、mv。 主要用于匹配文件名 符号 作用 * 匹配任意(0个或多个)字符或字符串,包括空字符串 ? 匹配任

一、通配符

通配符也叫文件名替换,它主要是作用于匹配文件名,常用命令是ls、find、cp、mv。

主要用于匹配文件名

符号 作用
* 匹配任意(0个或多个)字符或字符串,包括空字符串
匹配任意1个(单个)字符,有且只有一个字符
[abcd] 匹配abcd中任何一个字符,abcd也可是其他任意不连续字符
[0-9] 匹配数字0-9之间的任意一个数字
[a-z] 匹配中a到z之间的任意一个字符, a到z表示范围,字符前后要连续,-表示范围的意思
[!abcd] 同[^abcd],表示不匹配括号里面的任何一个字符,也可为[!a-d]

ls -d 通配符 -d只列出目录本身,不显示里面的内容

1

2

3

4

5

ls -d *.txt             列出当前目录下所有以.txt结尾的文件

ls -d /data/*.txt       列出指定目录/data下的所有以.txt结尾的文件

ls -d a*                列出当前目录下以a开头的文件

ls -d a?b               列出当前目录下以a开头中间有任意一个字符以b结尾的文件

ls -d [aln]*            列出当前目录下以a/l/n开头的文件

常见的字符集 作用
[:alpha:] 表示所有的字母(不区分大小写)= [a-Z]
[:alnum:] 表示任意单个字母或数字(不区分大小写)= 
[:lower:] 表示任意单个小写字母 = [a-z]
[:upper:] 表示任意单个大写字母 = [A-Z]
[:digit:] 表示任意单个数字 = [0-9]

使用字符集时用中括号[]包起来

1

ls -d *[[:digit:]]      表示当前目录下以数字结尾的文件

二、正则表达式

又称“规则表达式”。regex

正则表达式使用单个字符串来描述、匹配一系列符合某个语法规则的字符串。

用来匹配文件名,在文本编辑器中,用来匹配特定文本内容,替换文本内容。

字符匹配

  • . 匹配任意单个字符

  • [] 匹配指定范围内的任意单个字符

  • [^] 匹配指定范围外的任意单个字符

特殊表示

常见的字符集 作用
[:alpha:] 表示所有的字母(不区分大小写)= [a-Z]
[:alnum:] 表示任意单个字母或数字(不区分大小写)= 
[:lower:] 表示任意单个小写字母 = [a-z]
[:upper:] 表示任意单个大写字母 = [A-Z]
[:digit:] 表示任意单个数字 = [0-9]
[:space:] 任何会产生空白的字符,包括空白键, [Tab], CR 等等

匹配次数

\用于转义,这里的 { 和 } 和 ?和 + 前面都有一个转义符\

符号 作用
* 匹配其前面的字符任意次(0次、1次或多次)
.* 匹配任意长度的任意字符
\? 匹配起前面字符0次或1次
+ 匹配其前面字符1次或多次
{m} 匹配其前面的字符m次
{m,n} 匹配其前面字符最少m次,最多n次
{m,} 匹配其前面字符最少m次
{,n} 匹配其前面字符最多n次

匹配位置

^:行首锚定

$:行尾锚定

^$:匹配空白行

\<或\b:词首锚定

\>或\b:词尾锚定

\<PATTERN\>:匹配完整的单词

分组

()

中间使用|表示或 (a|b)a或b

三、扩展正则表达式

基本正则表达式需要转义符\,扩展正则表达式不需要转义符\

基本正则表达式 意义 扩展正则表达式 意义
. 匹配任意单个字符 . 匹配任意单个字符
[] 匹配指定范围内的任意单个字符 [] 匹配指定范围内的任意单个字符
[^] 匹配指定范围之外的任意单个字符 [^] 匹配指定范围之外的任意单个字符
* 匹配其前边的字符任意次(0次,或者多次,不能单独使用) * 匹配其前边的字符任意次(0次或多次,不能单独使用)
.* 匹配任意长度的任意字符 .* 匹配任意长度的任意字符
    + 匹配其前边的字符一次或者多次(匹配至少1次)
\? 匹配其前边的字符0次或者1次 ? 匹配前边的字符0次或者1次
\{m,n\} 匹配前边的字符至少m次,最多n次 {m,n} 匹配前边的字符至少m次,最多n次
^ 匹配行首,此字符后边的任意内容必须出现在行首 ^ 匹配行首,此字符后边的任意内容必须出现在行首
$ 匹配行尾,此字符前边的任意内容必须出现在行尾 $ 匹配行尾,此字符前边的任意内容必须出现在行尾
^$ 匹配空白行 ^$ 匹配空白行
\< 或 \b 匹配词首,其后面的任意字符必须作为单词首部出现 \< 匹配行首,其后面的任意字符必须作为单词首部出现
\>或\b 匹配词尾,其前面的任意祖父必须作为单词的尾部出现 \> 匹配词尾,其前面的任意祖父必须作为单词的尾部出现
\(\) 分组匹配,会将() 内匹配的内容保存起来,后边可以使用\1 或者 \2 的位置信息进行引用 () | 分组匹配,会将() 内匹配的内容保存起来,后边可以使用\1 或者 \2 的位置信息进行引用

1

\s : 匹配空白符,包括空格、制表符、换行符等


版权声明 : 本文内容来源于互联网或用户自行发布贡献,该文观点仅代表原作者本人。本站仅提供信息存储空间服务和不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权, 违法违规的内容, 请发送邮件至2530232025#qq.cn(#换@)举报,一经查实,本站将立刻删除。
原文链接 :
相关文章
  • 通配符和正则表达式介绍
    一、通配符 通配符也叫文件名替换,它主要是作用于匹配文件名,常用命令是ls、find、cp、mv。 主要用于匹配文件名 符号 作用 * 匹配任意(
  • kotlin正则表达式识别年月日代码

    kotlin正则表达式识别年月日代码
    kotlin - 正则表达式,识别年月日 1 !--正则表达式日期识别,不需要处理2025.08.08的日期-- string name=date_regex(?:^|(?lt;![-\\d]))(?:(?:[2-9][0-9]{3}[-年]
  • 正则表达式位置匹配应用介绍
    正则表达式中的位置匹配(锚点) 正则表达式不仅能匹配字符,还能匹配位置(也称为锚点或锚定)。位置匹配不消耗任何字符,只指定匹
  • 正则表达式高级用法完整介绍

    正则表达式高级用法完整介绍
    本文中的示例均在python3.11中运行成功。 如果运行出现re.error报错,可以更换python版本或者用regex模块替换re模块后再运行。 高级特性详解 贪
  • 正则表达式的整理与归纳

    正则表达式的整理与归纳
    正则表达式是由普通字符(a-z)和特殊字符(元字符)组成的文本模式。例如,在正则表达式[a-z]*描述了所有仅包含小写字母的字符串,其中a,z为
  • 正则表达式IP地址合法性判断
    一、正则表达式常见匹配字符快速回顾 符号 描述 . 匹配处换行符\n之外任意1个字符 [] 匹配[]中任意一个 \d 一个0-9数字 \D 匹配非数字 \w 匹配
  • 正则表达式中的特殊符号的介绍
    正则表达式中的特殊符号 如: 1 preg_match(/.+?hxx/is, hxx)); 返回,0,表示没有匹配,这是因为.+?的作用,具体讲一下。 .的作用 作用:匹配除换
  • S3标签字符清洗的正则表达式实践记录
    深入理解 S3 标签字符清洗的正则表达式实践 在构建与 AWS S3 相关的服务时,尤其是使用 S3 标签(Tag)作为资源标识或元数据时,确保标签值
  • 正则表达式r前缀使用指南及如何避免常见错误

    正则表达式r前缀使用指南及如何避免常见错误
    正则表达式中的r:解锁字符串转义的魔法 正则表达式是处理字符串的强大工具,但它常常伴随着转义字符的复杂性。如果你曾因\n、\t或\
  • 正则表达式高级应用与性能优化记录
    第6章:正则表达式的高级应用 6.1 模式匹配与文本处理 正则表达式不仅可以用于简单的搜索和替换,还可以用于复杂的文本处理任务,比如
  • 本站所有内容来源于互联网或用户自行发布,本站仅提供信息存储空间服务,不拥有版权,不承担法律责任。如有侵犯您的权益,请您联系站长处理!
  • Copyright © 2017-2022 F11.CN All Rights Reserved. F11站长开发者网 版权所有 | 苏ICP备2022031554号-1 | 51LA统计