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:]] 匹配标点字符: [-!”#$%&’()*+,./:;<=>[email protected][]_`{
[[: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,点“全部替换”,即可(先全选)。

原文地址:https://www.cnblogs.com/scotth/p/11511163.html

时间: 2024-11-05 22:03:41

NotePad++ 正则表达式 转的相关文章

[转]notepad++正则表达式替换字符串详解

原文:http://blog.csdn.net/qinboecjtu/article/details/6035028 正则表达式是一个查询的字符串,它包含一般的字符和一些特殊的字符,特殊字符可以扩展查找字符串的能力,正则表达式在查找和替换字符串的作用不可忽视,它 能很好提高工作效率. EditPlus的查找,替换,文件中查找支持以下的正则表达式: 表达式 说明 /t 制表符. /n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "

notepad正则表达式

文件名称匹配 文件名称: boost_chrono-vc100-mt-1_49.dll 对应的notepad正则表达式: \w*_\w*-\w*-\w*-\w*-\w*.dll 移除空行 查找目标: \r\n\r\n 替换为: \r\n

Notepad++正则表达式使用

推荐个正则表达式在线测试的工具http://ccmpp.com/Regex/Notepad++正则表达式使用 2011-01-06 10:01:35| 分类: 文档 | 标签:正则表达式 替换 notepad++ 匹配 查找 |举报|字号 订阅 使用正则表达式可以很好地完成很多繁琐耗时的工作,以下抄录editplus正则表达式的使用,同样适用于notepad++: 表达式 说明 \t 制表符. \n 新行. . 匹配任意字符. | 匹配表达式左边和右边的字符. 例如, "ab|bc"

navicate for mysql 导出sql脚本,然后通过notepad++ 正则表达式加工

navicate for mysql 导出sql脚本,然后通过notepad++加工 使用目标:提取所有的 drop table sql脚本 效果图: 我的操作步骤: step 1,在 navicate for mySQL 中 选中某个数据库,然后 右键 -> Dump SQL File , 然后选择保存路径, 会保存为一个 sql脚本文件,包括 建table 及 table 的insert 脚本. step 2,   打开这个sql脚本文件,然后 copy至 notepad++ step 3,

notepad++ 正则表达式(记录)

删除操作notepad++去掉行尾空格或逗号查找目标:\s+$ (或,+$)替换为空Note: 以换行符结尾表示是$\r\n,而不是\r\n$ notepad++删除文本文件里面的空白行查找目标:^[ \t]*\n或者:^\r\n替换为空 notepad++去掉只有数字的行查找目标:^[\d]+$\r\n替换为空 notepad++去掉不是以某个数开头的行查找目标:^[^1].*\r\n替换为空 notepad++去掉所有行中的<>(里面不能嵌套<>)查找目标:<[^>

Notepad++正则表达式查找替换文本中文字符

测试需求 测试工具中xml配置文件中注释字段包含中文字符,在Win10系统下使用工具中偶尔会出现中文乱码导致配置文件失效.解决方法将配置文件中的中文注释换成英文注释或者直接替换删除.如何将配置文件中的中文字符查找删除? 操作步骤 在Notepad文本工具中使用正则表达式匹配中文字符并替换.当然你可以采用Python写个小工具也无不可.Notepad中使用正则表达式[^\x00-\xff]匹配中文字符. 1.构造包含中文文本用于测试,包含中文字符.普通字符和特殊字符. 2.中文字符正则表达式匹配:

notepad++正则表达式说明

notepad++:表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".[] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.[^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配

notepad++正则表达式替换字符串详解

表达式 说明\t 制表符.\n 新行.. 匹配任意字符.| 匹配表达式左边和右边的字符. 例如, "ab|bc" 匹配 "ab" 或者 "bc".[] 匹配列表之中的任何单个字符. 例如, "[ab]" 匹配 "a" 或者 "b". "[0-9]" 匹配任意数字.[^] 匹配列表之外的任何单个字符. 例如, "[^ab]" 匹配 "a&q

Notepad++正则表达式合并多行代码为1行

有时候你想要缩减代码行数,多行并1行,像网页流行的JS代码,查看时多见这种情况,但是有时你想把多行switch case缩成1行,再手动分开,每个case一行. 这种对齐方式似乎在日式程序员的代码中经常见到. 又或者你有一个地图碰撞数组,这个数组来自反编译软件,于是就变成了每行只有1个数字的恶心情况. 不管哪种情况,都可以试试这个方法. Notepad++中使用正则表示式 int type = 1; int attackAnim = 0; switch(type) { case 1: attac