【Tools】正则表达式与通配符,及其应用

0 前期教程

1 前言

  在上面的前期教程中,第一次正式接触了正则表达式这个非常厉害的工具,它本质上是一种功能强大的字符串处理工具,在各种平台和编程语言中都有涉及。但是除正则表达式外,还有一种非常常用的字符串处理表达式,即通配符。本篇博客主要是想理清楚这两者之间的关系和区别。

2 正则表达式

2.1 基本内容

  由于正则表达式有点琐碎,个人建议是先看一篇相对完整的教程,来建立起一个框架,这里推荐一个简练的教程。

如果觉得这个教程内容不够详细,还可以继续看这个教程。

建立好框架之后,接下来就是不断地去实践,然后一点点积累,遇到不记得的可以去上面的两个教程查,反复操作从而提高自己的熟练度。

2.2 应用场景——VS Code查找替换

  这里简单记录一个正则表达式应用的例子——在VS Code中对文本进行查找替换。我们经常会遇到需要对文本文件进行查找替换,但是一般的文本阅读器能够提供的查找替换非常有限,而VS Code是支持使用正则表达式进行查找替换的,功能更加强大,也是一个让自己对正则表达式更加熟练的一个途径。
  但是需要注意,在VS Code中引用分组要使用$1,而不是正则表达式中的标准用法\1,具体可以看下面这个例子。
  一般我们在pdf中复制到的代码有可能格式存在问题,比如多了很多不必要的回车,如果一个一个删速度太慢,就可以将代码先复制到VS Code中,然后利用正则表达式进行查找替换。使用快捷键Ctrl + F,唤起查找替换的窗口,勾选正则表达式的选项,然后就可以使用正则表达式进行替换了。如下图所示。
在这里插入图片描述
  上面这个例子是 将所有不在;(){}符号后面的回车替换为空格 ,这样就能删除代码里面不必要的回车了。

3 通配符

参考链接

  通配符叫做文件名通配符更能突出其作用范围,因为通配符主要用于文件名的通配,可以在shell命令中使用,常用的通配符有以下几个:

  • *:星号用来匹配任意长度的任意字符。【在正则表达式中表示重复0次或多次
  • ?:问号用来匹配任意单个字符。【正则表达式中无特殊含义
  • [^]:匹配指定范围之外的任意单个字符。
    [^a-z] = [^[:lower:]] :匹配小写字母a-z之外的任意单个字符
  • []:匹配指定范围内的任意单个字符。
    [A-Za-z] :匹配大小写字母中的任意单个字符(实验时使用[a-z]或者[A-Z]或者[A-Za-z]的效果等同,都是大小写全匹配,此处值得验证)
    [0-9]:匹配0到9之间的数字

4 Word中的通配符

  使用过word的查找替换功能都知道,在查找替换窗口,有一个选项可以勾选,即“使用通配符”,如下图所示。
在这里插入图片描述

很多人将这个“通配符”与上面提到的文件名通配符或者正则表达式搞混,但实际上它并不属于上述两者。首先它支持的语法要比文件名通配符多得多,其次,它的语法也和正则表达式有很大出入。此外,word里面的通配符要求具有word环境,即只能在word中使用,而正则表达式不限使用平台和高级语言,语法都是共通的。所以我认为word里面的正则表达式可以概括为 “需要有word软件环境支持的一种字符串处理表达式”

  当然,为了更好地使用word这个软件,它里面支持的通配符还是得要学会,这里推荐两个教程。

和上面一样,建议时时翻阅,多多实践来提高自己的熟练度。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

记录无知岁月

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值