问答1 问答5 问答50 问答500 问答1000
网友互助专业问答平台

EditPlus中的正则表达式中英文使用详解附常用实例

提问网友 发布时间:2025-01-14 14:30
声明:本网页内容为用户发布,旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。
E-MAIL:1656858193@qq.com
1个回答
热心网友 回答时间:2025-01-14 15:31

EditPlus中的正则表达式中英文详解(附常用实例)

\t Tab character.tab符号
\n New line.新的一行(换行符)
. Matches any character.任何字符
| Either expression on its left and right side matches the target string.For example, “a|b” matches “a” and “b”.|符号两边的都匹配
[] Any of the enclosed characters may match the target character.For example, “[ab]” matches “a” and “b”. “[0-9]” matches any digit.用[]括起来的都匹配
[^] None of the enclosed characters may match the target character.For example, “[^ab]” matches all character EXCEPT “a” and “b”.“[^0-9]” matches any non-digit character.用[]括起来的都“不匹配”
* Character to the left of asterisk in the expression should match 0 or more times.For example “be*” matches “b”, “be” and “bee”.“*”号左边的那个字符匹配0次或者更多次
+ Character to the left of plus sign in the expression should match 1 or more times.For example “be+” matches “be” and “bee” but not “b”.“*”号左边的那个字符匹配1次或者更多次
? Character to the left of question mark in the expression should match 0 or 1 time.For example “be?” matches “b” and “be” but not “bee”.“*”号左边的那个字符匹配0次或者1次
^ Expression to the right of ^ matches only when it is at the beginning of line.For example “^A” matches an “A” that is only at the beginning of line.只匹配以“^”号右边的字符为一行开头的字符。
$ Expression to the left of $ matches only when it is at the end of line.For example “e$” matches an “e” that is only at the end of line.只匹配以“$”号左边的字符为一行结束的字符。
() Affects evaluation order of expression and also used for tagged expression.标示表达式区域
\ scape character. If you want to use character “\” itself, you should use “\\”.转义字符,如果你想匹配"\"。请使用"\\"
\0你使用正则表达式找到的东西

常用EditPlus正则表达式实例

把img标签的alt去掉
搜索内容:alt="[^src| ]* 注:"|"符号后有个空格
替换内容:alt=""

把带属性和样式的标签去掉
第一步:把去掉。
搜索内容:
替换内容:不填

第二步:去掉带属性和样式的标签
搜索内容:]*>
替换内容:不填

去掉所有的空行
搜索内容:\n\n
替换内容:\n

以下是针对特殊中文的一些替换

^[0-9].*\n

^[^第].*\n

^[习题].*\n

^[\s\S ]*\n
^[0-9]*\.
^[\s\S ]*\n

*]>

editplus查找替换的正则表达式应用

表达式 说明
\t 制表符.
\n 新行.
. 匹配任意字符.
| 匹配表达式左边和右边的字符. 例如, "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".
^ 其右边的表达式被匹配在一行的开始. 例如 "^A" 仅仅匹配以 "A" 开头的行.
contentnbsp; 其左边的表达式被匹配在一行的结尾. 例如 "econtentquot; 仅仅匹配以 "e" 结尾的行.
() 影响表达式匹配的顺序,并且用作表达式的分组标记.
\ 转义字符. 如果你要使用 "\" 本身, 则应该使用 "\\".
正则表达式应用——删除空行 ^[ \t]*\n
表达式的分组使用()来标记. 表达式的分组可以被引用为 \0, \1, \2, \3, 等等. \0 表示被匹配的所有字符串. \1 表示被匹配的第一个分组, \2 表示第二个分组, 依此类推. 举例如下.

原文 查找 替换 结果
abc (ab)(c) \0-\1-\2 abc-ab-c
abc a(b)(c) \0-\1-\2 abc-b-c
abc (a)b(c) \0-\1-\2 abc-a-c

【1】正则表达式应用——替换指定内容到行尾
原始文本如下面两行
abc aaaaa
123 abc 444

希望每次遇到“abc”,则替换“abc”以及其后到行尾的内容为“abc efg”
即上面的文本最终替换为:
abc efg
123 abc efg

解决:
① 在替换对话框,查找内容里输入“abc.*”
② 同时勾选“正则表达式”复选框,然后点击“全部替换”按钮
其中,符号的含义如下:
“.” =匹配任意字符
“*” =匹配0次或更多

注意:其实就是正则表达式替换,这里只是把一些曾经提出的问题加以整理,单纯从正则表达式本身来说,就可以引申出成千上万种特例。

【2】正则表达式应用——数字替换
希望把
asdadas123asdasdas456asdasdasd789asdasd
替换为:
asdadas[123]asdasdas[456]asdasdasd[789]asdasd

在替换对话框里面,勾选“正则表达式”复选框;
在查找内容里面输入“[0-9][0-9][0-9]”,不含引号
“替换为:”里面输入“[\0\1\2]”,不含引号
范围为你所操作的范围,然后选择替换即可。

实际上这也是正则表达式的使用特例,“[0-9]”表示匹配0~9之间的任何特例,同样“[a-z]”就表示匹配a~z之间的任何特例
上面重复使用了“[0-9]”,表示连续出现的三个数字
“\0”代表第一个“[0-9]”对应的原型,“\1”代表第二个“[0-9]”对应的原型,依此类推
“[”、“]”为单纯的字符,表示添加“[”或“]”,如果输入“其它\0\1\2其它”,则替换结果为:

asdadas其它123其它asdasdas其它456其它asdasdasd其它789其它asdasd

功能增强(by jiuk2k):
如果将查找内容“[0-9][0-9][0-9]”改为“[0-9]*[0-9]”,对应1 或 123 或 12345 或 …
大家根据需要定制

相关内容还有很多,可以自己参考正则表达式的语法仔细研究一下

【3】正则表达式应用——删除每一行行尾的指定字符
因为这几个字符在行中也是出现的,所以肯定不能用简单的替换实现
比如
12345 1265345
2345
需要删除每行末尾的“345”
这个也算正则表达式的用法,其实仔细看正则表达式应该比较简单,不过既然有这个问题提出,说明对正则表达式还得有个认识过程,解决方法如下
解决:
在替换对话框中,启用“正则表达式”复选框
在查找内容里面输入“345contentrdquo;
这里“contentrdquo;表示从行尾匹配

如果从行首匹配,可以用“^”来实现,不过 EditPlus 有另一个功能可以很简单的删除行首的字符串
a. 选择要操作的行
b. 编辑-格式-删除行注释
c. 在弹出对话框里面输入要清除的行首字符,确定

【4】正则表达式应用——替换带有半角括号的多行
几百个网页中都有下面一段代码:
\n
在替换对话框启用“正则表达式”选项,这时就可以完成替换了

【5】正则表达式应用——删除空行
启动EditPlus,打开待处理的文本类型文件。
①、选择“查找”菜单的“替换”命令,弹出文本替换对话框。选中“正则表达式”复选框,表明我们要在查找、替换中使用正则表达式。然后,选中“替换范围”中的“当前文件”,表明对当前文件操作。
②、单击“查找内容”组合框右侧的按钮,出现下拉菜单。
③、下面的操作添加正则表达式,该表达式代表待查找的空行。(技巧提示:空行仅包括空格符、制表符、回车符,且必须以这三个符号之一作为一行的开头,并且以回车符结尾,查找空行的关键是构造代表空行的正则表达式)。
直接在”查找”中输入正则表达式“^[ \t]*\n”,注意\t前有空格符。
(1)选择“从行首开始匹配”,“查找内容”组合框中出现字符“^”,表示待查找字符串必须出现在文本中一行的行首。
(2)选择“字符在范围中”,那么在“^”后会增加一对括号“[]”,当前插入点在括号中。括号在正则表达式中表示,文本中的字符匹配括号中任意一个字符即符合查找条件。
(3)按一下空格键,添加空格符。空格符是空行的一个组成成分。
(4)选择“制表符”,添加代表制表符的“\t”。
(5)移动光标,将当前插入点移到“]”之后,然后选择“匹配 0 次或更多”,该操作会添加星号字符“*”。星号表示,其前面的括号“[]”内的空格符或制表符,在一行中出现0个或多个。
(6)选择“换行符”,插入“\n”,表示回车符。
④、“替换为”组合框保持空,表示删除查找到的内容。单击“替换”按钮逐个行删除空行,或单击“全部替换”按钮删除全部空行(注意:EditPlus有时存在“全部替换”不能一次性完全删除空行的问题,可能是程序BUG,需要多按几次按钮)。


本文如未解决您的问题请添加抖音号:51dongshi(抖音搜索懂视),直接咨询即可。

...人也没用那号,里面有钱,现在登录密码忘了,怎样能找回登录密码... 投资e租宝的钱到期后如拿不回来可以起诉业务员及其团队经理吗问律师... e租宝到底是什么工作?可靠吗?待遇怎么样 四年级字词句篇新疆 描写新疆的句子有哪些 描写信息飞速的句子 描写玩时的优美句子 电饭煲煮熟饭了,有跳闸器声,但不跳闸怎么办?还继续加热求师傅指点?谢 ... 什么叫招牌挂?是卖地的把土地上报政府,政府做中间人,还是政府直接把未开... 交通信用卡还款宽限期几天几点 内裤什么品牌质量好 前十名 化妆要天天练习吗 长沙到临沂银雀山汉墓竹简博物馆优选线路推荐 湘潭自驾到临沂银雀山汉墓竹简博物馆会经过哪些地方 玫瑰谷只有安阳有吗_山东临沂到四川成都路线怎么走 周公解梦老公和别人抢帽子 物业费为什么按面积 物业费为什么按面积算 物管费为什么按建面 LOL德玛西亚这个服务器好吗??? 债券有什么类型 在电脑上练习编程需要哪些软件电脑常用的编程软件有哪些 电脑编程应该安装什么软件你好新手学电脑需要下载什么软件可以自学 电脑上学习的软件大学生电脑必备软件有哪些 什么是履约义务 开五金店有风险吗? 开一家小五金店要多少钱 汽车整体主动转向和可变转向比是什么? 电脑任何程序窗口最小化后都看不见 远视和老花的区别 海尔抽油烟机保修多久 海尔抽油烟机多少年保修 海尔抽油烟机质保多久 海尔抽油烟机保修期有多长? 海尔吸油烟机质保多久 海尔吸油烟机保修期限是多少? 海尔油烟机售后包多久 海尔的吸油烟机保修多久的 海尔吸油烟机保修期限是多长? 海尔抽油烟机能用多少年 南京城东指哪些 南京哪些地方属于城东 南京城东指哪些区域 南京东城区是哪个区 牛头宴做法
Top