我有这个样本字符串:
registerForm.main.myApplicant = value
我需要替换为:
registerForm.main.getMyApplicant() = value
我想出的正则表达式是:
\w+\.\w+\.(\w)(\w+)
$1
等于需要转换为大写字母的m
。$2
等于需要附加()
的单词的其余部分。
当我这样做:
FIND: \w+\.\w+\.(\w)(\w+)
REPLACE: get\u$1$2()
它只是打印出\ u而不是将其大写。如何在捕获组$1
上执行正则表达式?
我也尝试过$1=\u$1
这里是regexr demo
您可以使用可用于全局文件搜索和替换的两个正则表达式步骤。
我将(\w)
组模式修改为([a-z])
,因为我们只需要匹配该组中具有小写字母的那些字符串。
[步骤1:查找内容:\w+\.\w+\.([a-z])(\w+)
替换为:get###ABCDEFGHIJKLMNOPQRSTUVWXYZ$1$2()
其中###
是伪造的锚文本,可帮助您识别第二步中需要处理的文本。该文本目前看起来像
get###ABCDEFGHIJKLMNOPQRSTUVWXYZmyApplicant() = value
get###ABCDEFGHIJKLMNOPQRSTUVWXYZnewValue() = value
get###ABCDEFGHIJKLMNOPQRSTUVWXYZxyzApplicant() = value
[步骤2:查找内容:###(?:(A)BCDEFGHIJKLMNOPQRSTUVWXYZa|A(B)CDEFGHIJKLMNOPQRSTUVWXYZb|AB(C)DEFGHIJKLMNOPQRSTUVWXYZc|ABC(D)EFGHIJKLMNOPQRSTUVWXYZd|ABCD(E)FGHIJKLMNOPQRSTUVWXYZe|ABCDE(F)GHIJKLMNOPQRSTUVWXYZf|ABCDEF(G)HIJKLMNOPQRSTUVWXYZg|ABCDEFG(H)IJKLMNOPQRSTUVWXYZh|ABCDEFGH(I)JKLMNOPQRSTUVWXYZi|ABCDEFGHI(J)KLMNOPQRSTUVWXYZj|ABCDEFGHIJ(K)LMNOPQRSTUVWXYZk|ABCDEFGHIJK(L)MNOPQRSTUVWXYZl|ABCDEFGHIJKL(M)NOPQRSTUVWXYZm|ABCDEFGHIJKLM(N)OPQRSTUVWXYZn|ABCDEFGHIJKLMN(O)PQRSTUVWXYZo|ABCDEFGHIJKLMNO(P)QRSTUVWXYZp|ABCDEFGHIJKLMNOP(Q)RSTUVWXYZq|ABCDEFGHIJKLMNOPQ(R)STUVWXYZr|ABCDEFGHIJKLMNOPQR(S)TUVWXYZs|ABCDEFGHIJKLMNOPQRS(T)UVWXYZt|ABCDEFGHIJKLMNOPQRST(U)VWXYZu|ABCDEFGHIJKLMNOPQRSTU(V)WXYZv|ABCDEFGHIJKLMNOPQRSTUV(W)XYZw|ABCDEFGHIJKLMNOPQRSTUVW(X)YZx|ABCDEFGHIJKLMNOPQRSTUVWX(Y)Zy|ABCDEFGHIJKLMNOPQRSTUVWXY(Z)z)
替换为:$1$2$3$4$5$6$7$8$9$10$11$12$13$14$15$16$17$18$19$20$21$22$23$24$25$26
现在,结果将是最终的:
getMyApplicant() = value
getNewValue() = value
getXyzApplicant() = value
两步可能性
1)
FIND: \w+\.\w+\.(\w)(\w+)
REPLACE: get@@@$1$2()
2)
@@@
新答案