Rocket - diplomacy - wirePrefix

https://mp.weixin.qq.com/s/DVcA2UixnB_6vgI3SjZGyQ

 
调试wirePrefix方法。
 
1. 实现
 
wirePrefix用于调整名称格式,其实现如下:
 
使用正则表达式,把名称从驼峰格式如“CamelCaseNameStyle”变为Linux格式如“camel_case_name_style”。
 
 
2. 提取
 
这个方法的实现比较独立,可以单独提取出来调试执行,以了解其执行过程。
 
 
执行结果如下:
 
3. 正则表达式
 
1) "([a-z])([A-Z])".r
 
a. [a-z]代表一个小写字母
b. [A-Z]代表一个大写字母;
c. ()代表一个匹配项:这里有两个匹配项,第一个匹配项匹配一个小写字母,第二个匹配项匹配一个大写字母;
 
2) "_?node$".r
 
a. "_"代表一个"_"字符;
b. "?"代表0个或多个,这里的意思是0个或多个下划线字符;
c. "$"代表字符串的结尾,这里"node$"代表字符以"node"结尾;
 
 
4. 转换步骤
 
1) decamel
a. 替换全部匹配:replaceAllIn
b. 在小写字母l和大写字母h之间添加下划线“_”:case camelCase(l, h) => l + "_" + h }
 
2) 转变为小写:decamel.toLowerCase
 
3) trimNode,去除结尾的"node":
 
4) 结尾追加下划线,以把返回值用作前缀(prefix):
 
 
5. 调试
 
1) decamel
 
 
2) trimNode
 
 
 
 
3) 返回空
 
 
posted @ 2019-03-03 16:24  wjcdx  阅读(242)  评论(0编辑  收藏  举报