找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 3715|回复: 0

notepad++正则表达式使用

[复制链接]
发表于 2020-3-1 08:51:49 | 显示全部楼层 |阅读模式

笑脸喜迎新飞吧友,热情拥抱新伙伴。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
删除操作
notepad++去掉行尾空格或逗号
查找目标:\s+$ (或,+$)
替换为空
Note: 以换行符结尾表示是$\r\n,而不是\r\n$

notepad++删除文本文件里面的空白行
查找目标:^[ \t]*\n或者:^\r\n
替换为空

notepad++去掉只有数字的行
查找目标:^[\d]+$\r\n
替换为空

notepad++去掉不是以某个数开头的行
查找目标:^[^1].*\r\n
替换为空

notepad++去掉所有行中的<>(里面不能嵌套<>)
查找目标:<[^>]*>
替换为空

input:
<code><span class="kwd">import</span><span class="pln"> </span><dfn><span class="typ">BaseHTTPServer</span></dfn><span class="pln">
</span><span class="kwd">import</span><span class="pln"> </span><dfn><span class="typ">SimpleHTTPServer</span></dfn><span class="pln">
</span><span class="kwd">import</span><span class="pln"> </span><dfn><span class="typ">CGIHttpServer</span></dfn></code>

output:
import BaseHTTPServer
import SimpleHTTPServer
import CGIHttpServer


notepad++去掉python代码中的注释,去掉''' '''之间的注释
查找目标(regular expression)
^.*?'''\r\n.*?\r\n.*?'''\r\n
替换为空

去掉#注释
查找目标(re)
^(.*?)#.*?\r\n
替换为\1\r\n再去掉空行

如果只去掉注释行而不删除代码后面跟着的#注释则查找目标为

^\s+#.*?\r\n



替换操作
notepad++替换所有行中的(Week 1)  \n II. 为 ;
查找目标:\([^\.]*\.

替换为空

input:
I. Introduction机器学习综述 (Week 1)

II. Linear Regression with One Variable单变量线性回归 (Week 1)

III. Linear Algebra Review线性代数 (Week 1, Optional)

output:

I. Introduction机器学习综述 ;Linear Regression with One Variable单变量线性回归 ;Linear Algebra Review线性代数

Note:(和.都是特殊字符,要转义;\(代表从字符(开始; [^\.]*代表非字符.的字符重复n次; \.表示到字符.为止

notepad++将[]及包含的字母替换成空
查找目标

[/]&#8727;[[:alpha:]]&#8727;
[/]&#8727;[[:alpha:]]&#8727;
替换为空

input:

[cp] —你看我是歌手吗? —不是。[/cp] [cp] 为什么我的个子再也长不高了? 可能你得了恐高症[/cp] [cp]

output:

—你看我是歌手吗? —不是。  为什么我的个子再也长不高了? 可能你得了恐高症  

notepad++替换括号中匹配的内容\1
1.在汉化的时候,是否经常碰到这样的语句需要翻译:
“Error adding the post!”;
“Error adding the comment!”;
“Error adding the user!”;
查找目标:
“Error adding ([^!|"|;]*)
替换成:
“在增加\1时发生错误
结果是:
“在增加the post时发生错误!”;
“在增加the comment时发生错误!”;
“在增加the user时发生错误!”;
Note:

1. ([^!|"|;]*) 的意思是 不等于 ! 和 ” 和 ; 中的任何一个,意思就是这3个字符之外的所有字符将被选中(替换区域);

2. 正则表达式中\1表示第一个括号里面匹配内容。

正则表达式将倒数第一个\t替换为=>
biscuits milk
yoghurt milk
tomato souce pasta
tomato souce milk
water pasta milk

查找目标:(RE)

\t(\w+?)\r\n
替换为:

=>\1\r\n
结果:

biscuits=>milk
yoghurt=>milk
tomato souce=>pasta
tomato souce=>milk
water pasta=>milk

正则表达式将数字开头替换为数字.开头
1.os.sep    可以取代
2.os.name
3os

查找目标:

^(\d+)\.*

替换为:

\1.

结果:

1.os.sep    可以取代
2.os.name
3.os

Notepad++中在小数和字母间加上*号
查找目标
(\d\.\d+)
替换为
\1\*
input:
0.95c == 0.9b + 0.475a
c == 0.9b + 0.475a
0.85a == c + 0.15b
c == b + 0.575a
output:
0.95*c == 0.9*b + 0.475*a
c == 0.9*b + 0.475*a
0.85*a == c + 0.15*b
c == b + 0.575*a

Notepad++中在字符串上加上引号
查找目标
(\w+)
替换为
'\1'

input:
c, i, nd, o, p, u

output:
'c', 'i', 'nd', 'o', 'p', 'u'

Notepad++将每行赋值语句修改成判断语句
查找目标
^(.*)$
替换为
if  \1 :\n\tprint′True′′True′
input:
0.95*c == 0.9*b + 0.475*a
c == 0.9*b + 0.475*a
0.85*a == c + 0.15*b
c == b + 0.575*a
output:
if  0.95*c == 0.9*b + 0.475*a :
    print('True')
if  c == 0.9*b + 0.475*a :
    print('True')
if  0.85*a == c + 0.15*b :
    print('True')
if  c == b + 0.575*a :
    print('True')



查找操作
notepad++查找括号中匹配的内容\1
查找出(0 0 1)(0 1 1)T, x③=(-1 0 -1)T, x④=(-1 -1 -1)中小括号内的内容
查找目标:
.*?((&#8722;&#8727;\d\s&#8727;)+(&#8722;&#8727;\d\s&#8727;)+).*?
替换成:
\1
结果是:

(0 0 1)(0 1 1)(-1 0 -1)(-1 -1 -1)

Note: 这个查找效果不是很好,达不到用python编写re.findall()的效果。

notepad++查找括号()中的内容\1
查找出

        ω1:{(1 0)T, (2 0) T, (1 1) T}
        ω2:{(-1 0)T, (0 1) T, (-1 1) T}
        ω3:{(-1 -1)T, (0 -1) T, (0 -2) T}

中小括号内的内容
查找目标:
.*?(\-&#8727;\d\s\-&#8727;\d\-&#8727;\d\s\-&#8727;\d).*?
替换成:
\1
结果是:

(1 0)(2 0)(1 1) T}
(-1 0)(0 1)(-1 1) T}
(-1 -1)(0 -1)(0 -2) T}

感谢大家一直以来对飞吧资源网的支持!https://www.fb93.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|飞吧地图|飞吧技术分享 ( 粤ICP备13002650号 )

GMT+8, 2024-7-27 17:52 , Processed in 0.133520 second(s), 27 queries .

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表