通配符与正则表达式

2023-11-08

一、通配符与正则表达式的区别   

        通配符用来匹配文件名,正则表达式用来匹配文本。 

二、通配符

        Shell命令中通常用通配符做文件名字或则目录名的模糊查找。 

2.1 *

        表示匹配任意长度的字符

        eg:

        在终端中输入命令 ls *.txt 则会显示当前路径下所有以.txt结尾的文件

2.2

         表示匹配单个任意字符

        eg:

        在终端中输入命令 ls ?.c 则会显示当前路径下所有文件名只有 1 个字符的.c文件

                        输入命令 ls ???.c 则会显示当前路径下所有文件名只有 3 个字符的.c文件

2.3 [a-z] [0-9]

        [a-z]表示匹配a-z中任意一个字符

        这样的通配涉及到操作系统本地语序 本地语序默认是 aAbBcCdD...zZ

        在本地语序未被清除之前[a-z]通配的字符中包含大写字母字符

        可以通过在终端输入命令 export LC_ALL=C 清除本地语序

                通过在终端输入命令 unset LC_ALL 恢复本地语序

        清空本地语序后[a-z]表示通配a-z中的任意一个字符,其中不包括大写字母字符 

        [0-9]表示匹配0-9中任意一个数字字符

2.4 .*

         匹配以点号开头的任意字符

2.5 ~

         匹配当前用户的家目录

        eg:

                在终端中输入命令 cd ~ 表示回到家目录 

 

三、正则表达式

        正则表达式用于匹配某个字符串(文本内容) 

下面列举常用的正则表达式相关的符号:

3.1 *

         匹配 * 前面的任意字符

3.2

         表示非贪婪匹配或非获取匹配

        正则表达式默认是对文本中所有内容进行匹配,

        获得所有匹配成功的内容,也叫做贪婪匹配。

        在所需要匹配的内容中加了  ? 后会从文本中匹配所需要内容,

        一旦发现内容相匹配就不再往下匹配了,也就叫做非贪婪匹配。

        (前提:匹配内容必须完全在文本中出现)

        eg:

                源字符串为: text_1(aa)str_1(bb)test_2(aa)str_2(bb)test_3(aa)str_3(bb)test_4

                正则表达式1 为: (aa).*(bb)               

                         --->结果为:  (aa)str_1(bb)test_2(aa)str_2(bb)test_3(aa)str_3(bb)        

                正则表达式2 为:(aa).*?(bb)               

                        --->结果为:(aa)str_1(bb)

3.3 [a-z]

         包含大小写的匹配

        也就是匹配aAbBcC...zZ 

3.4 .*

         匹配任意长度的字符

3.5 .

         匹配任意单一字符

3.6  \

         表示转义

        eg:

                在shell命令 expr 中使用运算符的时候,部分运算符需要用转义字符转义

sum=`expr 100 \* 200` #表示将100乘以200的值赋值给变量sum
                        #此时 * 需要用转义字符 \ 来转义

3.7 ^

         行首

        eg:

                在终端中输入命令 grep "^string" ./ 表示查找以string开头的行

3.8 $

         行尾

        eg:

                在终端中输入命令 grep "string$" ./ 表示查找以string结尾的行  

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

通配符与正则表达式 的相关文章

  • 正则表达式中的“^“这个符号的一些思考

    在学习正则表达式的时候 一些常见的规则我们都不难理解 但是有 一个正则表达式中的特殊字符让我一直有点搞不懂 就是 这个字符 文档上给出了解释是匹配输入的开始 如果多行标示被设置成了true 同时会匹配后面紧跟的字符 比如 A 会匹配 An
  • 去除多余的0;正则表达式:去掉数字(整数、小数)前面多余的零

    方案1 来源 http zhidao baidu com question 277893180 html 如果是整数 去掉整数前的零 例如 0098765 gt 98765 如果是小数 去掉小数前的零 例如 000 333 gt 0 333
  • Android 正则表达式- 只保留字母数字

    正则表达式是对字符串操作的一种逻辑公式 就是用事先定义好的一些特定字符 及这些特定字符的组合 组成一个 规则字符串 这个 规则字符串 用来表达对字符串的一种过滤逻辑 1 匹配字母 大写 小写 和数字的字符 正则表达式 a zA Z0 9 2
  • python正则表达式从字符串中提取数字的思路详解(转载)

    python从字符串中提取数字 使用正则表达式 用法如下 总结 匹配字符串的开始 匹配字符串的结尾 b 匹配一个单词的边界 d 匹配任意数字 D 匹配任意非数字字符 x 匹配一个可选的 x 字符 换言之 它匹配 1 次或者 0 次 x 字符
  • VB.Net常用的正则表达式(实例)

    d 非负整数 正整数 0 0 9 1 9 0 9 正整数 d 0 非正整数 负整数 0 0 9 1 9 0 9 负整数 d 整数 d d 非负浮点数 正浮点数 0 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1
  • Shell脚本攻略:通配符、正则表达式

    目录 一 理论 1 通配符 2 正则表达式 二 实验 1 通配符 2 正则表达式 一 理论 1 通配符 1 概念 通配符只用于匹配文件名 目录名等 不能用于匹配文件内容 而且是已存在的文件或者目录 各个版本的shell都有通配符 这些通配符
  • IDEA正则表达式高级替换

    1 需求 需要将如下注释转换成另外一个形式 员工姓名 private String name 员工姓名 private String name 2 在idea中输入正则表达式进行快速替换 3 具体的正则表达式如下 替换前正则 替换后正则 1
  • Java使用 java.util.regex.Pattern 正则表达式校验参数值是否规范

    场景 java中我们可以利用 Pattern 注解对某个入参进行规则校验 但有些特殊参数在接口入口处不方便校验 需要在代码中校验 一 使用 Pattern 注解校验 Pattern regexp a zA Z0 9 message xxx号
  • SparkSQL HiveSQL 常用正则表达式

    SparkSQL HiveSQL 常用正则表达式 目录 SparkSQL HiveSQL 常用正则表达式 1 匹配汉字 2 匹配手机号码 3 匹配身份证 4 SparkSQL HiveSQL 常用正则函数 5 SparkSQL 分组 聚合
  • 4.4.5 密码验证(2)

    4 当且仅当含数字和字母的密码验证 如果密码当且仅当包含数字和字母 那么该密码的强度是中等强度 当然 它的安全性一般 以下正则表达式能够验证当且仅当包含数字和字母的密码 da zA Z d a zA Z da zA Z 74 正则表达式 7
  • grep命令

    grep 全称是global regular expressions print 功能就是查找匹配模式的行 grep对文本内容的处理是以行为单位 输出也是输出匹配的行 也可以使用两个变种程序egrep和fgrep egrep与grep E相
  • Python3 如何优雅地使用正则表达式(详解五)

    非捕获组命名组 精心设计的正则表达式可能会划分很多组 这些组不仅可以匹配相关的子串 还能够对正则表达式本身进行分组和结构化 在复杂的正则表达式中 由于有太多的组 因此通过组的序号来跟踪和使用会变得困难 有两个新的功能可以帮你解决这个问题 非
  • test is not a function (js正则表达式匹配问题)

    js中正则表达式匹配时 如果使用test函数 就必须不带引号 并且必须是 定义的规则变量 test 要测试的string 定义变量规则不要带引号 会错误的 如果不使用test 使用match则可以带引号 var re 1 9 d 4 10
  • js正则表达式

    w3school 正则表达式 一 正则表达式的使用 首先 我们一般使用正则表达式用来进行验证邮箱手机号等 进行匹配 1 编写一个正则表达式 var rule 我是一个正则表达式 2 使用正则表达式来进行验证 var isrule rule
  • js正则表达式多行匹配

    在js匹配网页内容时 往往需要匹配一段代码比如 div div 中间可能有很多行 这个时候一般 的匹配规则是匹配不出来的 如下介绍一个折中的方法 var content 这里是内容 var re p class s S p gt g var
  • JS字符串替换函数全部替换方法

    color olive JS字符串替换函数 Replace 字符串1 字符串2 1 我们都知道JS中字符串替换函数是Replace 字符串1 字符串2 但是这个函数只能将第一次出现的字符串1替换掉 那么我们如何才能一次性全部替换掉了 将上面
  • 超详细!Jmeter性能测试(二)

    Jmeter 性能测试 二 关联 正则表达式提取器和JSON Extractor提取器 接入上篇博文继续 上篇地址 https blog csdn net weixin 44954642 article details 103054387
  • java OpenOffice把word转html(Convert word to html )

    1 下载安装OpenOffice 网址http download openoffice org index html 2 下载第三方工具包JODConverter http www artofsolving com opensource j
  • 【golang】error parsing regexp: invalid or unsupported Perl syntax (正则表达式校验密码)

    要在 Go 中编写密码校验规则 确保密码不少于8位且包含数字和字母 你可以使用正则表达式和 Go 的 regexp 包来实现 以下是一个示例代码 错误示范 package main import fmt regexp func valida
  • java正则表达式的语法详解及常用方法

    一 实例 今天在实现一个功能时遇到了这样一个问题 及接口传过来一个字符串 我需要判断它是一个区间还是一段文字并对其做分别处理 这里面的问题就在于我怎么去判断区间 按照数学规律区间可分为以下几种情况 M M N N N M N M N N N

随机推荐

  • Visual Studio 2019 Community 版离线注册

    本文主要参考 https blog csdn net songfuliang2011 article details 102486451 Visual Studio 2019 Community 虽然是免费使用 但必须在线注册一个账号 否则
  • Spring Boot 事务详解

    自己学习事务做的笔记 方便记忆和复习 1 事务是为了解决数据安全问题而存在的 最经典的例子就是银行转账问题 A账户给B账户转账100元 A账户扣除100元后由于不可抗力因素导致程序中断 B账户没有收到那100元 A账户那100元凭空消失 肯
  • Ubuntu IDEA安装和配置以及eclipse下载

    Idea2022版本官网下载 https www jetbrains com idea download section linux sudo tar zxvf ideaIU 2022 3 3 tar gz C usr local sudo
  • 闲鱼玩法平台系列文章——双11实操篇

    背景 营销玩法是电商行业进行商品促销和用户增长的重要手段 上一篇中介绍了闲鱼的玩法平台 多啦A梦 本篇将介绍在该系统上承接的玩法 闲鱼作为闲置循环工厂也参与了大促 为了让更多闲置在闲鱼游起来 在商品侧设计了 转卖抽奖 活动玩法 为了能让更多
  • asoc 如何定义各种widget、route

    上一节中 介绍了DAPM框架中几个重要的数据结构 snd soc dapm widget snd soc dapm path snd soc dapm route 其中snd soc dapm path无需我们自己定义 它会在注册snd s
  • 大数据治理——《华为数据之道》

    重点章节 1 差异化的数据分类管理 第二章 信息架构 第三章 数据底座 第三章 次重点 2 数据服务 第四章 数据质量 第五章 数据安全与隐私 第六章 其他 3 数据感知 第五章 数据综合治理体系 第二章 企业数字化转型 第三章 重要概念和
  • 【自用】西门子s7-200连接显示屏和物联网盒子完整配置过程

    总览 1 PLC配置 2 显示屏配置 3 物联网盒子配置 一 PLC配置 1 连接PLC软件 STEP 7MicroWIN V4 0 SP9完整版 链接 https pan baidu com s 17LMEXnbkQZMPI8Bte24E
  • 使用单片机控制600W升压模块输出电压

    要想用单片机控制升降压模块的输出电压 首先想到的就是使用电信号控制FB电阻大小 原理上数字电位器可以满足这个需求 那么问题就在于 如何评估数字电位器大小 如何知道FB电阻和输出电压的关系 如果是集成DCDC变换器模块比较简单 一块板上没几个
  • QT 消息对话框按钮显示

    前言 搞QT嘛 大多数都是军工 都要国产化 而且消息对话框的按钮的英文也不是很得劲 所以需要汉化 使用静态函数的按钮就是显示英文 汉化的代码如下 void Widget on pushButton clicked QMessageBox b
  • python selenium 获取frame中的元素

    版权声明 本文为徐代龙原创文章 未经徐代龙允许不得转载 https blog csdn net xudailong blog 使用情景 在很多的视频播放网站 视频播放页面往往获取不到iframe里面的内容 也或者是模拟登陆的时候 会跳入一个
  • 标量、向量、矩阵之间求导笔记

    2019 12 06 今天 碰到了下面有关向量对于向量的导数 不太明白为什么最后得到的是A的转置 d A x
  • 区块链Fabric 排序、二次开发

    1 排序 Orderer 排序 Orderer 指对区块链网络中不同通道产生的交易进行排序 并广播给节点 Peer 排序 Orderer 是以可插拔组件的方式实现 目前分为SOLO和Kafka两种类型 SOLO 仅有一个Orderer服务节
  • React 状态管理器,我是这样选的

    前言 我们的前端团队在一直深度使用 React 从最早的 CRA 到后来切换到 umijs 从 1 x 2 x 3 x 再到现在的 4 x 其中有一点不变的 就是我们一直在使用基于 react redux 思想的 dva 作为状态管理工具
  • React hooks 不能拿到最新的的setState的值

    在class中 如果 我们想要拿到setState 最新的值 去调用api 直接通过this setState的回调函数就可以了 this setState latestValue 我是最新的 gt this callApi latestV
  • Koa项目搭建----从零搭建Koa项目

    最近发现使用 Koa 创建项目的博客比较多 但是不够细致 为方便自己和他人 遂整理本博客 本博客会介绍以下内容 1 安装Koa脚手架 即 koa generator 2 创建 Koa 1 项目 3 创建 Koa 2 项目 4 坑 5 项目运
  • 基于TypeScript的PixiJS开发环境设置(webpack篇)

    转自 http www limbonova com 2017 09 setup pixijs with typescript using webpack 前几天写了一篇用Browserify打包的 PixiJS 的开发环境配置流程 但是We
  • 一个项目所需要的各个模块以及它们对应的功能

    首先你要知道 一个项目它的目的是什么 一个项目最终要达到一个什么效果 其实说白了 一个项目实现的最终结果就是实现对数据库的增删查改 然后返回最终的视图或者数据给前端 这就是一个项目的目的 这也是最简单的说法 那要实现这个从数据库当中的增删查
  • CSP201312-1 出现次数最多的数

    include
  • Java性能优化常用命令及工具简介

    Java性能优化常用命令及工具简介 简述 1 多线程或边界情况等引起的异常 2 内存异常 3 CPU问题 总结 简述 开发中可能都会碰到程序运行越来越慢 占用内存和cpu越来越高 那如何定位问题呢 我们将问题简单分类为三个常见的场景 1 多
  • 通配符与正则表达式

    一 通配符与正则表达式的区别 通配符用来匹配文件名 正则表达式用来匹配文本 二 通配符 Shell命令中通常用通配符做文件名字或则目录名的模糊查找 2 1 表示匹配任意长度的字符 eg 在终端中输入命令 ls txt 则会显示当前路径下所有