正则表达式
2021-05-18 18:29 qgbo 阅读(39) 评论(0) 编辑 收藏 举报某些工具生成如下的文件.,文件大小写杂乱,混合/ 空格
public enum xxx
{
person =1,
ComPan=2
Student xiao/hai=3
}
正则表达式处理为合理的方式 针对属性。
先把所有 字符换成小写
^.*$
\L$0
把特殊字符换成大写
\t([A-Za-z])| ([A-Za-z])|/([A-Za-z])
\1\U\2\E
加上注释
\t[A-Za-z ]+
/// <summary>\n/// The $0 \n/// </summary>\n $0
这需要3步,前两步是把变量名换为大驼峰。这可以一步实现
(\t([A-Za-z])| ([A-Za-z])|/([A-Za-z]))((?<=\w)\w+)
\U$2\U$3\U$4\L$5
$1,$2...是表示的小括号里的内容
可以如下理解,JS执行如下内容。
'/person'.replace(/(\t([A-Za-z])| ([A-Za-z])|\/([A-Za-z]))((?<=\w)\w+)/g,"$0,$1,$2,$3,$4,$5,$6");
' person'.replace(/(\t([A-Za-z])| ([A-Za-z])|\/([A-Za-z]))((?<=\w)\w+)/g,"$0, 1=$1, 2=$2, 3=$3, 4=$4, 5=$5, 6=$6, 7=$7");
"$0, 1= p, 2=, 3=p, 4=, 5=erson, 6=$6, 7=$7"
$0:没有小括号的匹配值。这里有小括号,就是原意
$1:(\t([A-Za-z])| ([A-Za-z])|\/([A-Za-z])) 的匹配值,这个意思是 以 \t, 空格,/ 后面跟一个字母匹配的值, 这里是空格,所以值是 ” p“
$2: 上面的规则里面的小括号,从右向左读,这里是/, 所以值是空
$3: 上面的规则里面的小括号,从右向左读,这里是空格,所以值是 ”p“
$4: 上面的规则里面的小括号,从右向左读,这里是\t, 所以值是空
$5: ((?<=\w)\w+) 这个意思是正向否定查找, 第一个是字母(\w),这里匹配的是 "erson"