正则表达式(notepad++实战运⽤)<1.运⽤场景,契约⽂档到实体类转变>
notepad++
某公司有⼀份契约,如下
开发⼈员需要根据契约写出对应的实体类,当参数较多是,所开发的时间就⽐较多,这时候我们可以通过notepad++,⽤正则表达式进⾏替换
操作步骤
①复制契约具体参数到notepad++
②写⼀个正则表达式,使之可以匹配到任意⼀⾏
(?i)(?s)^([a-z]+)\s+\[?([a-z0-9\<\>\!]+)\]?\s+(.*?)$
快捷键CTR+F ,弹出Replace窗⼝ ,在Find what 输⼊正则表达式,测试⼀下如图
③假如我们要替换这种格式,如图
写⼀个要替换后的正则表达式:
/** \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 :换⾏