常用IDE正则表达式

目录

1、notepad++正则表达式

2、VScode正则表达式

3、pycharm正则表达式


梳理常用工具的正则表达式使用,逐步增加其他工具

1、notepad++正则表达式

注意:Notepad++正则表达式字符串最长不能超过69个字符

\\   转义字符  如:要使用 “\” 本身, 则应该使用“\\”
\t\t  Tab制表符  注:扩展和正则表达式都支持
\r\r  回车符CR   注:扩展支持,正则表达式不支持
\n\n  换行符LF   注:扩展支持,正则表达式不支持
..  匹配任意一个字符
^^ 其右边的表达式被匹配在行首。如:^A匹配以“A”开头的行
$$ 其左边的表达式被匹配在行尾。如:e$匹配以“e”结尾的行
\数字\其左边的数字代表之前的匹配组,如:(\d+)(\w+),\1匹配“123bac,123”,其中\1表示123
||  或运算符,匹配表达式左边和右边的字符串。如:ab|bc匹配“ab”或“bc”
[][] 匹配列表中任意单个字符。如:[ab]匹配“a”或“b”;[0-9]匹配任意单个数字
[^][^] 匹配列表之外的任意单个字符。如:[^ab]匹配“a”和“b”以外的单个字符;[^0-9]匹配任意单个非数字字符
** 其左边的字符被匹配任意次(0次或多次)。如:be*匹配“b”,“be”或“bee”
++ 其左边的字符被匹配至少一次(1次或多次)。如:be+匹配“be”或“bee”,但不匹配“b”
?? 其左边的字符被匹配0次或者1次。如:be?匹配“b”或“be”,但不匹配“bee”;\r?\n匹配行结尾符
()() 影响表达式匹配的顺序(类似C++的小括号会影响表达式运算顺序),并且用作表达式的分组标记(标记从1开始)如:([a-z]bc)smn\1匹配“tbcsmntbc”;
{}{} 指定前面的字符或分组的出现次数  如:abc{3}匹配abccc;a(bc){2}匹配abcbc
\d\d 匹配一个数字字符。等价于:[0-9]
\D\D \d取反,匹配一个非数字字符。等价于:[^0-9]
\s\s 匹配任意单个空白字符:包括空格、制表符等(注:不包括换车符和换行符)。等价于:[ \t]
\S\S  \s取反的任意单个字符。
\w\w 匹配包括下划线的任意单个字符。等价于:[A-Za-z0-9_]
\W\W \w取反的任意单个字符。等价于:[^A-Za-z0-9_]
\b\b 匹配单词起始处或结尾处  如:\bin匹配int,但不匹配sing


123abcfg示例1

abc
abcd

替换成:

123hello
hello
hello

方法--查找串:abc.*$     替换串:hello

示例2

123abcfg
abc
abcd

替换成:

123@abcfg@
@abc@
@abcd@

方法 -- 查找串:(abc.*)$     替换串:@\1@

示例3

str[1]abc[991]
str[2]abc[992]
str[11]abc[993]
str[222]abc[996]

替换成

god[991]
god[992]
god[993]
god[996]

方法1 -- 查找串:str[0−9]+[0−9]+abc([0−9]+)([0−9]+) 替换串:god[\1]

方法2 -- 查找串:str([0−9]+)([0−9]+)abc([0−9]+)([0−9]+) 替换串:god[\2]

示例4  删除所有空行

step1:a. 选择正则表达式  b. 查找串:^[ \t]*$    替换串:空

step2:a. 选择扩展(\n,\r,\t,\0,\x...)  b.  查找串:\r\n\r\n   替换串:\r\n    注:多次点击替换,直到没有可替换的字串

2、VScode正则表达式

本文只列举和翻译了常用的一些,完整内容请参照微软官方文档

注意事项:在VSCode中使用时,要先把通配符开关打开(开关是查找输入框右边的".*"符号)

\t\t  Tab制表符
\r\r  回车符CR 
\n\n  换行符LF
\特殊符号转义,如"*" ,转义后匹配的是字符"*", “(” 匹配的是括号"("
.匹配任意单个字符(除了\n)
[]匹配[ ]中的任意字符,如[ae],字符a和字符e均匹配
[^]匹配不在[ ]中的任意字符,如[^ae]除了a和e,其他字符都匹配
[-]匹配在[ ]之间的任意字符,如[a-x],就是匹配a和x之间的所有字符(包括a和x)
|相当于"或",表示匹配由
*将前面的元素匹配0到多次,如"\d*.\d",可以匹配"19.9",".0",“129.9”
+将前面的元素匹配1到多次,如"be+",可以匹配"be", “beeeeee”
将前面的元素匹配0次或者一次,如"rai?n" 可以且只可以匹配 “ran” 或者 “rain”
{n}n是个数字,将前面的元素匹配n次,如"be{3}“可以且只可以匹配 ”beee”
{n, m}将前面的元素匹配至少n次,最多m次,如"be{1,3}" 可以且只可以匹配"be",“bee”, “beee”
\d匹配数字字符,如"1",“4”,"9"等
\D和\d相反,匹配除了数字字符外的其他字符
\s匹配空格
\S和\s相反,匹配非空格
\w匹配所有单词字符(如"a",“3”,“E”,但不匹配"?","."等)
\W和\w相反,匹配所有非单词字符
$nn是个数字,这个是替换时使用括号()将匹配的patter分割成了几个元素,然后在替换的patter里面使用,类似于变量。
如果查找patter是"(\w+)(\s)(\w+)",那么$1就是(\w+),$2是(\s),$3是(\w+),替换patter是$3$2$1,那么替换结果就是(\w+)(\s)(\w+)。
假设匹配到的是"one two",那么$1,$2,$3分别为"one", " “, “two”,替换后的结果为"two one”.
\数字\其左边的数字代表之前的匹配组,如:(\d+)(\w+),\1匹配“123bac,123”,其中\1表示123
\uxxxx匹配Unicode编码为xxx的字符,如\u0020匹配空格,这个符号可以用来帮助匹配中文,后面说
[\u4e00-\u9fa5]利用区间和\u转义符号,匹配中文(该区间包含2万个汉字),可以当做中文版的\w使用

3、pycharm正则表达式

\t匹配制表符。
\r匹配回车符。
\n匹配换行符。
\v匹配垂直制表符。
\f匹配换页字符。
\特殊符号转义,如"*" ,转义后匹配的是字符"*" “(” 匹配的是括号"("
^匹配输入的开始。
$匹配输入的结尾。
\数字\其左边的数字代表之前的匹配组,如:(\d+)(\w+),\1匹配“123bac,123”,其中\1表示123
*匹配前一个字符零次或多次
+匹配前面的字符一次或多次
?匹配前一个字符零或一次
.匹配除换行符以外的任何单个字符。
(子表达)匹配子表达式并记住匹配项。如果将正则表达式的一部分括在括号中,则该正则表达式的该部分将分组在一起。因此,可以将正则表达式运算符应用于整个组。
如果需要在同一正则表达式中使用匹配的子字符串,则可以使用backreference \num在哪里检索它num = 1..n。
如果您需要在当前正则表达式之外的某个地方引用匹配的子字符串(例如,在另一个正则表达式中作为替换字符串),则可以使用美元符号$numwhere 来检索它num = 1..n。
如果需要在一个子表达式中包含括号字符,请使用\(或\)。
x|y匹配xy。例如,z|wood 匹配zwood(z|w)oo匹配动物园或木头。
{n}n是一个非负整数。精确匹配
n,}n是一个非负整数。至少匹配
{ n,m }mn是非负整数。匹配至少n和至多 m倍。
[y]字符集。匹配其中任何一个字符。例如,[abc]aplain匹配。
[^]否定字符集。匹配任何未包含的字符。例如,[^abc]该匹配p在平原。
[ z ]字符范围。匹配指定范围内的任何字符。例如,“ [az]”匹配az范围内的任何小写字母字符。
[^]负范围字符。匹配任何不在指定范围内的字符。例如,[^m-z]匹配不在mz范围内的任何字符。
\b匹配单词边界,即单词和空格之间的位置。例如,er\b相匹配的ER中从来没有,但不是ER的动词。
\B匹配非单词边界。ea*r\B比赛耳中 从未年初。
\d匹配数字字符。等同于[0-9]
\D匹配非数字字符。等同于[^0-9]
\s匹配任何空格,包括空格,制表符,换页等。等同于[ \f\n\r\t\v]
\S匹配任何非空白字符。等同于[^ \f\n\r\t\v]
\w匹配任何单词字符,包括下划线。等同于[A-Za-z0 -9_]。在搜索字段中使用它。
\W匹配任何非单词字符。等同于[^A-Za-z0-9_]
\l将下一个字符的大小写更改为小写。在替换字段中使用这种类型的正则表达式 
\L将所有后续字符的大小写更改为\E小写。在替换字段中使用这种类型的正则表达式 
\u将下一个字符的大小写更改为大写。在替换字段中使用这种类型的正则表达式 
\U将所有后续字符的大小写更改为\E大写。在替换字段中使用这种类型的正则表达式。
\num匹配num,其中num是一个正整数,表示对已记住的匹配的引用。
例如,(.)\1匹配两个连续的相同字符。
\on匹配n,其中n是八进制转义值。八进制转义值的长度应为123位数字。
\xn匹配n,其中n是十六进制转义值。十六进制转义值必须恰好是两位数。
\$查找一个$字符。
\\$搜索字段中输入的此正则表达式表示您正在尝试\ 在行尾查找字符。

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
PyCharm是一款功能强大的Python集成开发环境(IDE),它提供了许多方便的工具和功能来帮助开发者提高效率。正则表达式是一种强大的文本匹配和处理工具,可以在字符串中查找、替换和提取特定的模式。 在PyCharm中使用正则表达式可以通过以下步骤: 1. 打开PyCharm并创建一个新的Python项目。 2. 在代码编辑器中打开你要使用正则表达式的文件。 3. 导入re模块,该模块是Python内置的用于正则表达式操作的模块。 4. 使用re模块提供的函数来进行正则表达式的匹配、替换和提取操作。 以下是一些常用正则表达式操作函数: 1. re.match(pattern, string):从字符串的开头开始匹配模式,如果匹配成功则返回一个匹配对象,否则返回None。 2. re.search(pattern, string):在字符串中搜索匹配模式的第一个位置,如果匹配成功则返回一个匹配对象,否则返回None。 3. re.findall(pattern, string):在字符串中搜索匹配模式的所有位置,并以列表形式返回所有匹配结果。 4. re.sub(pattern, repl, string):将字符串中所有匹配模式的部分替换为指定的字符串。 在使用正则表达式时,需要了解一些常用正则表达式语法: 1. 字符匹配: - 普通字符:直接匹配对应的字符。 - 元字符:具有特殊含义的字符,如.表示任意字符,\d表示数字等。 - 字符类:用[]表示,匹配方括号中的任意一个字符。 2. 重复匹配: - *:匹配前一个字符0次或多次。 - +:匹配前一个字符1次或多次。 - ?:匹配前一个字符0次或1次。 - {n}:匹配前一个字符恰好n次。 - {n, m}:匹配前一个字符至少n次,最多m次。 3. 边界匹配: - ^:匹配字符串的开头。 - $:匹配字符串的结尾。 4. 分组和捕获: - ():将多个字符组合为一个整体,并可以对其进行分组和捕获。 以上只是正则表达式的一些基本操作和语法,实际使用中还有更多高级的功能和技巧。希望以上介绍对你有帮助。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

惜缘若水

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

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

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

打赏作者

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

抵扣说明:

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

余额充值