<1.运用场景,契约文档到实体类转变>
某公司有一份契约,如下
开发人员需要根据契约写出对应的实体类,当参数较多是,所开发的时间就比较多,这时候我们可以通过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)
\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 :换行
————————————————
版权声明:本文为CSDN博主「93_Ryan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/zy52002520/article/details/80691767