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) 返回空