【入门系列】正则表达式常用语法以及具体示例详解
正则表达式 |
文章目录
前言
正则表达式是所有语言(C++、Java、Python、PHP等)都会用到的语法,它能够帮助我们搜索我们想要的内容
????正则表达式练习网站regexr
????推荐教程:表严肃讲正则表达式
应用场景:b站屏蔽特定弹幕;快速修改文件等
启动正则表示式搜索模式的方法:
以Sublime为例,打开搜索栏,然后按.*
即可开启正则表达式搜索
常用语法
代码 | 解释 |
---|---|
. |
匹配除换行(\n)外的任何字符 |
\w | 匹配阿拉伯数字(2)、英文大小写(Aa)和下划线(_) |
\W 或 [^\w] | 匹配\w的补集 |
\d | 匹配阿拉伯数字(0-9) |
\s | 匹配空白字符:空格、制表符、断行等 |
\n | 匹配所有换行符 |
int|main |
查找int或main |
^x | 匹配x且x是字符串的开头(行首) |
[^x] | 匹配除了x以为的所有字符 |
\b | 单词边界 word boundary |
[选择范围] | 只能表示范围内的一个字符 |
---|---|
[abc] | 匹配字符a或b或c |
[a-k] | 匹配字符范围a到k中的任意一个 |
[2-5] | 匹配数字范围2到5中的任意一个 |
[a-zA-Z] | 匹配大小写字母中的任意一个 |
[^x] |
匹配除了x以为的所有字符 |
{重复次数} | 说明 |
---|---|
+ 或 {1,} | 重复次数>=1均会被匹配 |
* 或 {0,} | 重复次数>=0均会被匹配 |
? 或 {0, 1} | 表示重复0次或1次 |
{2} | 重复两次 |
{2,} | 重复次数>=2均会被匹配 |
{2, 5} | 重复次数为2到5次 |
一个{重复次数}作用范围是它前面的匹配
说明:可以用括号()增加重复次数{}作用的范围,如([a][x-z]){1,3}
,则重复次数1-3作用的范围是[a][x-z]
具体示例
示例1:简单示例
示例2:()和重复次数{}结合
示例3:单词边界
示例4:分组匹配
修改后
示例5:b站特定弹幕屏蔽
屏蔽大部分刷日期的弹幕:^20.*
示例6:中文和英文之间添加空格
中文+空格+英文单词(还有$)([\u4e00-\u9fa5])([a-zA-Z]|\$)
替换为$1 $2
英文单词(还有$)+空格+中文
示例7:汉字匹配
Unicode 万国码,用数字代表文字的一项标准
每个中文都有对应的“身份证”
- 从19968 到 40869
- 从
0x4e00
到0x9fa5
- 从 一 到 龥
匹配所有汉字的语法一般是[\u4e00-\u9fa5]
但有些地方用起来会有点区别,比如php或sublime中是用[\x{4e00}-\x{9fa5}]
来匹配汉字的