A5站长网
软文发布
企业会员
A5交易
站长出海导航
博客

当前位置: 首页 >  站长 >  编程技术 >  正文

  • 品牌
  • 标签
  • 企业会员

linux下关于正则表达式grep的一点总结

 2020-11-02 11:39  来源: 脚本之家   我来投稿 撤稿纠错

  域名预订/竞价,好“米”不错过

正则表达式(Regular Expression)是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具

正则表达式(Regular Expression) 是用于描述一组字符串特征的模式,用来匹配特定的字符串。通过特殊字符+普通字符来进行模式描述,从而达到文本匹配目的工具。类似于生活中常见的寻人启示,通过描述一个人的特征来进行“搜索匹配”

如今正则已经被我们广泛应用,目前被集成到了各种文本编辑器/文本处理工具当中

应用场景**验证: **表单提交时,进行用户名密码验证。**查找: **从大量信息中快速提取指定内容。在一批url中,查找指定url替换: 将指定格式的文本,进行正则匹配查找,找到之后进行特定替换,(vim文本替换等)

在很多技术领域(比如,自然语言处理,数据存储等),正则表达式可以很方便的提取出我们想要的信息,所以这部分必不可少构成基本要素字符类 数量限定符 位置限定符 特殊符号

1. 字符类:

应用:

grep使用--color选项将匹配的字符串以红色标注出来 Linux下可以用echo $?来打印上一条命令执行的退出码,为0表示执行成功,1表示失败。

实验如下:

注意: 使用 . 默认为贪心匹配,和后面的正则匹配方式相关,后面再述。

2. 数量限定符:

应用:

3. 位置限定符:

 

 

注意: 其中 \b 用来限定是目标串中是否有以指定字符串开头的单词,我们称之为词界。 \B 称之为非词界

应用:

4. 特殊符号:

可是结果好像并不如我们所愿?其实这里还与正则表达式版本有关。 正则分为以下几个版本:

基本的正则表达式(Basic Regular Expression 又叫 Basic RegEx 简称 BREs) 扩展的正则表达式(Extended Regular Expression 又叫 Extended RegEx 简称 EREs) Perl 的正则表达式(Perl Regular Expression 又叫 Perl RegEx 简称 PREs)

在grep中指定相应的参数即可,而这几个版本中默认的就是基本正则,带上-E选项就是扩展正则,而带上-P参数就是用perl版正则。解决前面的问题,我们这里让grep带上-P选项便可解决了

版本间区别正则表达式的Extended规范和Basic规范基本相同。只是在Basic规范下,有些字符 ?+{}|() 应解释为普通字符,要表示上述特殊含义则需要加 \ 转义。反之,在Extended规范下, ?+{}|() 应该被理解成特殊含义,要取其字面值,也要对其进行\ \ 转义。所以, grep 工具带上 -E 选项,表示使用扩展正则来进行匹配(亦可直接使用egrep 命令操作),若没有,则表示使用基准正则进行匹配。带-P选项使用的perl正则匹配。它是perl语言集成的最重要的一种特性,它十分强大,很多语言设计正则式支持的时候基本上都参考Perl的正则表达式。正则匹配模式

贪婪模式

正则表达式去匹配时,会尽量多的去匹配符合条件的内容,grep命令 默认使用的就是贪婪匹配,

非贪婪模式 正则表达式去匹配时,会尽量少的匹配符合条件的内容 也就是说,一旦发现匹配符合要求,立马就匹配成功,而不会继续匹配下去(除非有g选项,开启下一组匹配)

总结: 可以看到,非贪婪模式的标识符,就是贪婪模式的标识符后面加上一个 ?

来源:脚本之家

链接:https://www.jb51.net/article/184539.htm

申请创业报道,分享创业好点子。 点击此处,共同探讨创业新机遇!

相关标签
正则表达式

相关文章

  • Eclipse使用正则表达式快速修改代码的方法

    这篇文章主要介绍了Eclipse使用正则表达式快速修改代码的方法,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    标签:
    正则表达式
    代码设计
  • 通过正则表达式验证IP和端口格式的正确性

    这篇文章主要介绍了正则表达式验证IP和端口格式的正确性,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下

    标签:
    正则表达式
  • java正则表达式判断前端参数修改表中另一个字段的值

    这篇文章主要介绍了java正则表达式判断前端参数修改表中另一个字段的值,需要的朋友可以参考下

    标签:
    正则表达式
    java
  • 使用正则表达式生成随机数据的方法

    这篇文章主要介绍了使用正则表达式生成随机数据的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    标签:
    正则表达式
  • js处理网页编辑器转义 去除转义 去除HTML标签的正则

    这篇文章主要介绍了富文本编辑器生成的HTML标签,进行转义,然后写入数据库,防止脚本注入,需要的朋友可以参考下

    标签:
    正则表达式
    html
加载更多

热门排行

  • 1 久免费的网站服务器有哪些?稳定免费的网站服务器推荐
  • 2 618活动哪几天买最划算,什么时候最便宜,2024年京东618几号结束
  • 3 618苹果手机几号买最便宜,2024年淘宝京东618苹果iphone15 pro降价一览表
  • 4 2024京东618第二波什么时候几号开始?京东618什么时候买最便宜划算
  • 5 618优惠力度最大是哪天,6月18日当天吗,2024年淘宝京东618什么时候买便宜
  • 6 破解“词穷”困境 坚持阅读是关键
  • 7 促进教育优质均衡发展,天翼云以科技创新赋能教育普惠
  • 8 东软OneCoreGo 5.0导航族群产品斩获大单
  • 9 绿联IPO新科技铸就企业新质生产力
  • 10 618什么时候优惠力度最大?(京东,淘宝,天猫618活动攻略一览)

信息推荐

编辑推荐

  • VS2019属性管理器没有Microsoft.Cpp.x64.user的解决办法

  • JS页面动态绘图工具SVG,Canvas,VML介简介

热门标签

阿里巴巴上市 top域名 2013淘宝双十一 网站推广平台 营销转化率 语音识别 诺基亚x6 武汉滴滴群聊曝光 重庆滴滴司机死缓 网上商城怎样推广 空间域名 网站内容设计 双项淘宝客 热门关键词优化 网络营销理念 智慧医疗 标签打印 iphone12手机 油管搬运网赚 知识问答社区