当前位置: 首页 > news >正文

网站图片添加alt标签做下载类网站赚钱吗

网站图片添加alt标签,做下载类网站赚钱吗,重庆最专业的房产网站建设,网站建设公司哪个好呀金融网站建设shell 脚本:正则表达式 一、概述 1、概念 正则表达式是你所定义的模式模板,Linux工具可以用它来过滤文本。Linux工具(比如sed编辑器或gawk程序)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它…

shell 脚本:正则表达式

一、概述

1、概念

正则表达式是你所定义的模式模板,Linux工具可以用它来过滤文本。Linux工具(比如sed编辑器或gawk程序)能够在处理数据时使用正则表达式对数据进行模式匹配。如果数据匹配模式,它就会被接受并进一步处理;如果数据不匹配模式,它就会被滤掉。

数据流 → 正则表达式 → (1)匹配的数据 (2)滤掉的数据

正则表达式(Regular Expression,简称RE),是用于描述字符排列和匹配模式的一种语法规则。它主要用于字符串的分割、匹配、查找及替换操作。即正则表达式是一种文本模式,该模式描述在搜索文本时要匹配的一个或多个字符串。

简单来说,正则表达式是通过一些特殊字符的排序,用以删除、查找、替换一行或者多行文字字符串的程序。

2、作用

正则表达式通常用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是由普通字符与元字符组成:

  • 普通字符包括大小写字母、数字、标点符号及一些其他符号
  • 元字符是指在正则表达式中具有特殊意义的专用字符,可以用来规定其前导字符(即位于元字符前面的字符)在目标对象中的出现模式
3、可达到的目的

给定一个正则表达式和另一个字符串,我们可以达到如下目的:

  • 给定的字符串是否符合正则表达式的过滤逻辑(称作"匹配")
  • 可以通过正则表达式,从字符串中获取我们想要的特定部分

二、基础正则

1、基础正则常见元字符(支持的工具:grep、egrep、sed、awk)
元字符描述示例
\转义字符,用于取消特殊符号的含义\!, \n, \$
^匹配字符串开始的位置^a, ^the, ^#, ^[a-z]
$匹配字符串结束的位置word$, ^$(匹配空行)
.匹配除\n之外的任意的一个字符lo.*k, lo.k, l..k
*匹配前面一个字符出现0次或者多次loo*k, lo*k
[list]匹配list列表中的一个字符go[ola]d, [abc], [a-z], [a-z0-9], [0-9](匹配任意一位数字)
[^list]匹配任意非list列表中的一个字符[^0-9], [^A-Z0-9], [^a-z](匹配任意一位非小写字母)
\{n\}匹配前面一个字符n次lo\{2\}k, '[0-9]\{2\}'(匹配两位数字)
\{n,\}匹配前面一个字符不少于n次lo\{2,\}k, '[0-9]\{2,\}'(匹配两位及两位以上数字)
\{n,m\}匹配前面一个字符n到m次lo\{2,3\}k, '[0-9]\{2,3\}'(匹配两位到三位数字)

注意:egrep、awk使用{n}{n,}{n,m}匹配时,“{}“前不用加””

2、示例

示例原始文件

[root@yanyvhang ~]# vim a.txt
# 内容
lk
lok
look
loook
looooook
loooooaaak
looooooook
abbbbcd
abbbbcd666
ooooloooook
oooooolk
aoblck
labk
[root@yanyvhang ~]# vim b.txt
# 内容
aaabd
cdd
cdc
cdd
[root@yanyvhang ~]# vim c.txt
# 内容
lok
lo12k
lo1k
loAk
loBk
look
loak
lodk
abcd
1234
  1. * 匹配前面一个字符0次或者多次

    [root@yanyvhang ~]# grep "loo*k" a.txt
    [root@yanyvhang ~]# grep "lo*k" a.txt
    

    在文件 a.txt 中搜索

    * 表示前面的字符 o 可以出现零次或多次

    在这里插入图片描述

  2. . 匹配除 \n 之外的任意的一个字符

    [root@yanyvhang ~]# grep "lo.*k" a.txt
    [root@yanyvhang ~]# grep "lo.k" a.txt
    [root@yanyvhang ~]# grep "l..k" a.txt
    

    在文件 a.txt 中搜索

    . 匹配任意单个字符,* 表示前面的元素(即 .)可以出现零次或多次

    即表示匹配任意长度的任意字符串

    在这里插入图片描述

  3. 匹配次数控制

[root@yanyvhang ~]# grep "lo\{3\}k" a.txt 
[root@yanyvhang ~]# grep "lo\{3,\}k" a.txt 
[root@yanyvhang ~]# grep "lo\{3,5\}k" a.txt 

{3\} 前面的一个字符 (o) 出现3次

{3,\} 前面的一个字符 (o) 出现不少于3次

{3,5\} 前面的一个字符 (o) 出现3到5次

在这里插入图片描述

  1. 匹配字符串开始和结束的位置置

    [root@yanyvhang ~]# grep "^c" b.txt 
    [root@yanyvhang ~]# grep "d$" b.txt 
    [root@yanyvhang ~]# grep "^$" b.txt 
    

    ^c 匹配以 c 开头的字符串

    d$ 匹配以 d 结尾的字符串

    ^$ 匹配空行

    在这里插入图片描述

  2. 匹配列表中的字符或非列表字符

    [root@yanyvhang ~]# grep "lo[a-zA-Z0-9]k" c.txt 
    [root@yanyvhang ~]# grep "lo[ABo]k" c.txt 
    [root@yanyvhang ~]# grep "lo[^a-zA-Z]k" c.txt 
    [root@yanyvhang ~]# grep "[^a-zA-Z]" c.txt 
    

    lo[a-zA-Z0-9]k 表示在 lok 中匹配的字符为任意字母和数字

    lo[ABo]k 表示在 lok 中匹配的字符为 A B o 中的一个

    lo[^a-zA-Z]k 表示在 lok 中匹配的字符非字母

    [^a-zA-Z] 表示非纯字母的字符串

    在这里插入图片描述

三、扩展正则

扩展正则表达式在基础正则的基础上增加了更多元字符,功能更强大(常用工具:egrep, awk

因为文档格式原因这里使用 I 代替 | (管道符,使用时请注意)

元字符描述示例
+匹配前面一个字符1次以上lo+k(匹配lok、look、loook等)
?匹配前面一个字符0次或者1次lo?k(匹配lk或lok)
()将括号中的字符串作为一个整体l(oo)+k(匹配look、looook等)
I以或的方式匹配字符串l(oo I ab)k(匹配look或labk)
{}允许为可重复的正则表达式指定一个上限(间隔){n}, {n,}, {n,m}

注意:在扩展正则中,{} 前不需要加转义符 \

  1. 匹配前面一个字符1次以上

    [root@yanyvhang ~]# egrep "lo+k" a.txt 
    

    在这里插入图片描述

  2. 匹配前面一个字符0次或者1次

    [root@yanyvhang ~]# egrep "lo?k" a.txt 
    

    在这里插入图片描述

  3. 将括号中的字符串作为一个整体

    [root@yanyvhang ~]# egrep "l(oo)+k" a.txt 
    

    在这里插入图片描述

  4. 以或的方式匹配字条串

    [root@yanyvhang ~]# egrep "l(oo|ab)+k" a.txt 
    

    在这里插入图片描述

  5. 允许为可重复的正则表达式指定一个上限

    [root@yanyvhang ~]# egrep "lo{3}k" a.txt 
    [root@yanyvhang ~]# egrep "lo{3,}k" a.txt 
    [root@yanyvhang ~]# egrep "lo{3,5}k" a.txt 
    

    在这里插入图片描述

四、特殊的字符组

POSIX标准定义了一些特殊的字符组,用于匹配特定类型的字符:

字符组描述
[[:alpha:]]匹配任意字母字符(大写或小写)
[[:alnum:]]匹配任意字母数字字符(0-9, A-Z, a-z)
[[:blank:]]匹配空格或制表符(Tab键)
[[:digit:]]匹配0-9之间的数字
[[:lower:]]匹配小写字母字符(a-z)
[[:print:]]匹配任意可打印字符
[[:punct:]]匹配标点符号
[[:space:]]匹配任意空白字符:空格、tab、换行等
[[:upper:]]匹配任意大写字母字符(A-Z)

这些字符组在字符类中(即方括号内)使用,例如:grep "[[:digit:]]" file.txt 匹配包含数字的行

http://www.dtcms.com/a/618001.html

相关文章:

  • WebStrom 打开Uniapp API 的语法提示
  • 使用ADO将excel表内容加载到mssql表中的长度问题
  • 5G技术:引领智能时代的通信革命
  • 5G技术与人工智能:重塑工业互联网的未来
  • 设计模式实战篇(六):装饰器模式 —— 让系统具备“可生长能力”的架构思想
  • 专业信息门户网站定制注册网站是哪个部门
  • 企业没有网站怎么对外做公示个人网站建设月租抵30元
  • Android应用中使用Kotlin集成OkHttp库:从基础使用到深层原理解析
  • Kafka客户端参数(一)
  • 用 Rust 从零开发一个隐写工具
  • 建设营销型网站的优势顺的品牌网站建设
  • 团雾、结冰、大风——高速公路的“隐形杀手”:智慧气象预警如何为您的路网安全保驾护航
  • PC 端常用 UI 组件库
  • 工业制品网站建设建程网是干嘛的
  • CS144 知识笔记二
  • 化妆品网站源码asp个人网站做淘宝客商城
  • 实战:使用 Python(Requests/Scrapy)接入京东商品详情 API 并解析数据结构
  • python学生成绩登记系统软件测试报告
  • GitHub Actions 和 GitLab CI/CD
  • 【Linux日新月异(七)】CentOS 7磁盘资源管理深度指南:从分区到性能调优
  • 企业网站pv是什么佛山推广优化公司
  • 机器学习常见问题之numpy维度问题
  • Redis 原理与实验
  • 网站开发职责与要求软件开发专业好吗
  • 【Linux驱动开发】Linux 设备驱动中的总线机制
  • 电压基准芯片详解:从原理到选型,附 TLV431 应用解析
  • 住房和城乡建设部网站监理工程师网站发送邮件功能
  • 开发第一个python程序
  • obet(Oracle Block Editor Tool)第二版发布
  • 【gas优化】2.11 Calldata 替换 Memory