NotePad++ 正则表达式 转
https://gerardnico.com/ide/notepad/replace
https://notepad-plus-plus.org/community/topic/16787/find-and-replace-using-regular-expression
http://www.pnotepad.org/docs/search/regular_expressions/
TotalErrSaAddr=(.,) //5955 (包含0 和1~9)
TotalErrSaAddr=(..,) //63
TotalErrSaAddr=(...,) //2
TotalErrSaAddr=(....,) //0
TotalErrSaAddr=(*,) //error
TotalErrSaAddr=(.,) //5955
==============
TotalErrSaAddr=([0],) //4714
TotalErrSaAddr=([1-9],) //1241
TotalErrSaAddr=([1-8],) //1230
TotalErrSaAddr=([9],) //11
TotalErrSaAddr=([1-9][0-9],) // 63
TotalErrSaAddr=([1-9][0-9][0-9],) //2
^case "TotalErrSaAddr=/(\w+)\.php"
^case “TotalErrSaAddr=/[a-Z0-9]*"
TotalErrSaAddr=>0
([^-]*).*
([^TotalErrSaAddr=]*).*
TotalErrSaAddr=([^-]*).* //ok 3010
TotalErrSaAddr=([a-Z0-9]*)
TotalErrSaAddr=([1-9],) //ok 1241
TotalErrSaAddr=([9-999],) //ok, 11个, 9~999个错误saAddrNum
TotalErrSaAddr=([0-9],) //ok 5955 ,0~9的数据,后面跟,
TotalErrSaAddr=([^-]*) //ok 6020
TotalErrSaAddr= //ok 6020
TotalErrSaAddr=
BINON:00000000,00000000,00000000,0000([1-3])([1-3])([1-3])([1-3]);
//找 ??3的值, ?可以是空到任意
BINON:00000000,00000000,00000000,0000(.[3])
https://blog.csdn.net/wangkai_123456/article/details/55254598
在我们处理文件时,很多时候会用到查找与替换。当我们想将文件中某一部分替换替换文件中另一部分时,怎么办呢? 下面正则表达式 给我提供方法。
正则表达式,提供复杂 并且弹性的查找与替换
注意: 不支持多行表达式 (involving \n, \r, etc).
要选上
正则表达式搜索
1 基本表达式
| 符号 | 解释 |
|---|---|
| . | 匹配任意字符,除了新一行(\n)。也就是说 “.”可以匹配 \r ,当文件中同时含有\r and \n时,会引起混乱。要匹配所有的字符,使用\s\S |
| (…) | 这个匹配一个标签区域. 这个标签可以被访问,通过语法 \1访问第一个标签, \2 访问第二个, 同理 \3 \4 … \9。 这些标签可以用在当前正则表达式中,或则替search和replace中的换字符串。 |
| \1, \2, etc | 在替换中代表1到9的标签区域(\1 to \9)。例如, 查找字符串 Fred([1-9])XXX 并替换为字符串 Sam\1YYY的方法,当在文件中找到Fred2XXX的字符串时,会替换为Sam2YYY。注意: 只有9个区域能使用,所以我们在使用时很安全,像\10\2 表示区域1和文本”0”以及区域2。 |
| […] | 表示一个字符集合, 例如 [abc]表示任意字符 a, b or c.我们也可以使用范围例如[a-z] 表示所以的小写字母。 |
| [^…] | 表示字符补集. 例如, [^A-Za-z] 表示任意字符除了字母表。 |
| ^ | 匹配一行的开始(除非在集合中, 如下). |
| $ | 匹配行尾. |
| * | 匹配0或多次, 例如 Sa*m 匹配 Sm, Sam, Saam, Saaam 等等. |
| + | 匹配1次或多次,例如 Sa+m 匹配 Sam, Saam, Saaam 等等. |
| ? | 匹配0或者1次, 例如 Sa?m 匹配 Sm, Sam. |
| {n} | 匹配确定的 n 次.例如, ‘Sa{2}m’ 匹配 Saam. |
| {m,n} | 匹配至少m次,至多n次(如果n缺失,则任意次数).例如, ‘Sa{2,3}m’ 匹配 Saam or Saaam. ‘Sa{2,}m’ 与 ‘Saa+m’相同 |
| *?, +?, ??, {n,m}? | 非贪心匹配,匹配第一个有效的匹配,通常 ‘<.>’ 会匹配整个 ‘content’字符串 –但 ‘<.?>’ 只匹配 ” .这个标记一个标签区域,这些区域可以用语法\1 \2 等访问多个对应1-9区域。 |
2 标记和分组
| 符号 | 解释 |
|---|---|
| (…) | 一组捕获. 可以通过\1 访问第一个组, \2 访问第二个. |
| (?:…) | 非捕获组. |
| (?=…) | 非捕获组 – 向前断言. 例如’(.*)(?=ton)’ 表达式,当 遇到’Appleton’字符串时,会匹配为’Apple’. |
| (?<=…) | 非捕获组 – 向后断言. 例如’(?<=sir) (.*)’ 表示式,当遇到’sir William’ 字符串时,匹配为’ William’. |
| (?!…) | 非捕获组 – 消极的向前断言. 例如’.(?!e)’ 表达式,当遇到’Apple’时,会找到每个字母除了 ‘l’,因为它紧跟着 ‘e’. |
| (? | 非捕获组 – 消极向后断言. 例如 ‘(? |
| (?P…) | 命名所捕获的组. 提交一个名称到组中供后续使用,例如’(?PA[^\s]+)\s(?P=first)’ 会找到 ‘Apple Apple’. 类似的 ‘(A[^\s]+)\s\1’ 使用组名而不是数字. |
| (?=name) | 匹配名为name的组. (?P…). |
| (?#comment) | 批注 –括号中的内容在匹配时将被忽略。 |
3 特殊符号
| 符号 | 解释 |
|---|---|
| \s | 匹配空格. 注意,会匹配标记的末尾. 使用 [[:blank:]] 来避免匹配新一行。 |
| \S | 匹配非空白 |
| \w | 匹配单词字符 |
| \W | 匹配非单词字符 |
| \d | 匹配数字字符 |
| \D | 匹配非数字字符 |
| \b | 匹配单词边界. ‘\bW\w+’ 找到W开头的单词 |
| \B | 匹配非单词边界. ‘\Be\B+’ – 找到位于单子中间的字母’e’ |
| < | This matches the start of a word using Scintilla’s definitions of words. |
| > | This matches the end of a word using Scintilla’s definition of words. |
| \x | 运行用x来表达可能具有其他意思的字符。例如, [ 用来插入到文本中作为[ 而不是作为字符集的开始. |
4 字符类
| 符号 | 解释 |
|---|---|
| [[:alpha:]] | 匹配字母字符: [A-Za-z] |
| [[:digit:]] | 匹配数字字符: [0-9] |
| [[:xdigit:]] | 匹配16进制字符: [0-9A-Fa-f] |
| [[:alnum:]] | 匹配字母数字字符: [0-9A-Za-z] |
| [[:lower:]] | 匹配小写字符: [a-z] |
| [[:upper:]] | 匹配大写字符: [A-Z] |
| [[:blank:]] | 匹配空白 (空格 or tab):[ \t] |
| [[:space:]] | 匹配空白字符:[ \t\r\n\v\f] |
| [[:punct:]] | 匹配标点字符: [-!”#$%&’()*+,./:;<=>?@[]_`{ |
| [[:graph:]] | 匹配图形字符: [\x21-\x7E] |
| [[:print:]] | 匹配可打印的字符 (graphical characters and spaces) |
| [[:cntrl:]] | 匹配控制字符 |
5 替换操作
使用正则表达式的标记,通过()来包围想要用的字符,然后用\1 来替换字符串,第一个匹配文本。
例如:
Text body Search string Replace string Result
Hi my name is Fred my name is (.+) my name is not \1 Hi my name is not Fred
The quick brown fox jumped over the fat lazy dog brown (.+) jumped over the (.+) brown \2 jumped over the \1 The quick brown fat jumped over the fox lazy dog
6 限制
Support for regular expressions in PN2 is currently limited, the supported patterns and syntax are a very small subset of the powerful expressions supported by perl. 最大的限制是正则表达式只能匹配单行,不能用多行匹配表达。可以用Backslash Expressions代替.
准备计划是使用PCRE库 library (used elsewhere in PN2) 来支持文档搜索.
7应用举例
删除空白行的方法
方法:
选择替换,把查找模式设置为正则表达式,在查找框中输入 ^\s+ ,替换框留空,点“全部替换”,即可(先全选)。
删除所有行s字符开始后面的所有字符
方法:
选择替换,把查找模式设置为正则表达式,在查找框中输入 ^([^:]*):.*$,替换框填写$1,点“全部替换”,即可(先全选)。
NotePad++ 正则表达式 转的更多相关文章
- notepad++ 正则表达式
body { font-family: Bitstream Vera Sans Mono; font-size: 11pt; line-height: 1.5; } html, body { colo ...
- notepad正则表达式
文件名称匹配 文件名称: boost_chrono-vc100-mt-1_49.dll 对应的notepad正则表达式: \w*_\w*-\w*-\w*-\w*-\w*.dll 移除空行 查找目标: ...
- 十、Notepad++正则表达式使用
推荐个正则表达式在线测试的工具http://ccmpp.com/Regex/ Notepad++正则表达式使用 2011-01-06 10:01:35| 分类: 文档 | 标签:正则表达式 替换 no ...
- Notepad++正则表达式使用
推荐个正则表达式在线测试的工具http://ccmpp.com/Regex/ Notepad++正则表达式使用 -- ::| 分类: 文档 | 标签:正则表达式 替换 notepad++ 匹配 查找 ...
- NotePad++ 正则表达式替换
NotePad++ 正则表达式替换 高级用法 [转] - aj117 - 博客园 https://www.cnblogs.com/tibit/p/6387199.html const getQAPar ...
- Notepad++正则表达式格式 Editplus使用正则表达式[转]
使用正则表达式可以很好地完成很多繁琐耗时的工作,以下抄录editplus正则表达式的使用,同样适用于notepad++:表达式 说明 \t 制表符. \n 新行. . 匹配任意字符. | ...
- notepad++ 正则表达式(记录)
删除操作notepad++去掉行尾空格或逗号查找目标:\s+$ (或,+$)替换为空Note: 以换行符结尾表示是$\r\n,而不是\r\n$ notepad++删除文本文件里面的空白行查找目标:^[ ...
- Notepad++正则表达式查找替换文本中文字符
测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的 ...
- Notepad++正则表达式语法
\ 转义字符 如:要使用 “\” 本身, 则应该使用“\\” \t Tab制表符 注:扩展和正则表达式都支持 \r 回车符CR 注:扩展支持,正则表达式不支持 \n 换行符LF ...
随机推荐
- 2019暑期金华集训 Day1 数据结构
自闭集训 Day1 数据结构 CF643G 用类似于下面的方法,搬到线段树上. 如何合并两个集合?先全部放在一起,每次删掉最小的\(cnt_i\),然后把其他所有的\(cnt\)都减去\(cnt_i\ ...
- PowerShell中汉字与ASCII码相互转换
function asc($param) { $rtn = '' $list = $param -split '' foreach ($char in $list) { if($char -ne '' ...
- Java基础系列 - 泛型和反射机制
package com.test5; import java.lang.reflect.Field; import java.lang.reflect.Method; /** * Java泛型和反射机 ...
- 2019-12-11:kali linux工具Msfvenom 命令自动补全
msfvenom大家都不陌生,在我们使用MSF进行权限维持,内网渗透的时候都会用到,支持的语言的种类很多.大家都知道我们在使用msfvenom 的时候需要手动输入很多参数,这些参数需要记忆,或记在其它 ...
- Spring框架各模块功能介绍
一. Spring是什么? Spring由Rod johnson开发: 是一个非常活跃的开源框架: 它帮助分离项目组件(对象)之间的依赖关系: 它的主要目的是简化企业开发 二. Spring的核心概念 ...
- ML_Homework_Porject_2_LDA_KNN
第二次机器学习的作业完成了,写一下总结. 作业要求:实现用线性判别分析(LDA,LinearDiscriminantAnalysis)的二分类,用KNN比较LDA和PCA在有监督学习下的分类区别. 开 ...
- Python 死循环
while True: try: x=int(input("Please enter a number:")) break except ValueError: print(&qu ...
- OpenJudge计算概论-细菌实验分组
/*====================================================细菌实验分组总时间限制: 1000ms 内存限制: 65536kB描述有一种细菌分为A.B两 ...
- golang 循环创建闭包 问题排查
][]string{ { { "邀请码是什么", "我没有邀请码", "这个邀请码我可以随便填吗", "邀请码可以填他的手机号吗& ...
- 几种主流浏览器内置http抓包工具软件使用方
对于学习网站的人或者相关编程人员,经常需要用到http抓包工具来跟踪网页,但主流抓包软件如httpwatch.httpanalyzerstdv都是收费的,破解版往往也不稳定.实际上现在很多浏览器都内置 ...