<1.运用场景,契约文档到实体类转变>
(?i)(?s)^([a-z]+)\s+\[?([a-z0-9\<\>\!]+)\]?\s+(.*?)$
③假如我们要替换这种格式,如图
写一个要替换后的正则表达式:
/** \3 */\r\nprivate \2 \1;
在 replace with 输入要替换的正则表达式,测试一下
只需要把替换后内容复制粘贴到新建的类文件就可以了,就不用自己一个个手写了,当契约较多的时候就会节省很多开发时间,而且参数不会写错。
效果展示完,接下来就来了解一下正则表达式吧
<2.了解正则表达式>
?i : 匹配时不区分大小写 ?s : 单行模式,表示更改.的含义,使它与每一个字符匹配(包括换行 符\n) ?m : 多行模式,表示更改^和$的 含义,使它们分别在任意一行的行首和行尾匹配,而不仅仅在整个字符串的开头和结尾匹配。(在此模式下,$的 精确含意是:匹配\n之前的位置以及字符串结束前的位置.) ^ : 一行的开始 $ : 一行的结束
. : 任意字符类 [abc] : 包含a、b和c的任何字符(tong a|b|c) [^abc]: 除a、b和c的任何字符 \s : 空白符 \S : 非空白符 \d : 数字[0-9] \D : 非数字[^0-9] \w : 词字符[a-zA-Z0-9] \W : 非次字符
1 贪婪型 勉强型 占有型 如何匹配 2 X? X?? X?+ 一个或零个X 3 X* X*? X*+ 零个或多个X 4 X+ X+? X++ 一个或多个X 5 X{n} X{n}? X{n}+ 恰好n次X 6 X{n,} X{n,}? X{n,}+ 至少n次X 7 X{n,m} X{n,m}? X{n,m}+ X至少n次,且不超过m次
解析:
(?i)(?s)^([a-z]+)\s+\[?([a-z0-9\<\>]+)\]?\s+(.*?)$ (?i) 不区分大小写 (?s) 当行模式 ^ 一行开始 ([a-z]+) 一个或多个英文字符,第一个小括号表示第一个组 \1 \s+ 一个或多个空格 \[? 0个或者一个[ ([a-z0-9\<\>]+) :一个或者多个字母数字,尖括号 \2 \]? 0个或1个] \s+ 一个或多个空格 (.*?) 勉强型0个或多个任意字符 \3 /** \3 */\r\nprivate \2 \1; \r :换行
文章来源: 正则表达式(notepad++实战运用)