用正则表达式改变一个字母的大小写

时间:2015-06-25 23:45:18

标签: regex eclipse

我在Eclipse IDE中使用正则表达式。我想转向

other.test加入other.getTest()

搜索:other.([a-z])([a-z]*)

替换:other.\U$1$2()

结果:other.Utest()

我认为在小组面前添加一个\ U应该改变案例,但它不适合我。任何想法?

3 个答案:

答案 0 :(得分:2)

不幸的是,Eclipse Find / Replace正则表达式不支持大致修改运算符,如\U\u\L\l。您可以使用jrahhali建议的长解决方法,也可以使用Notepad ++:

搜索other\.([a-z]+) 替换other.get\u$1\(\)

<强> Explantion

  • other\. - 匹配字符串other.(请注意,必须转义点以匹配文字点)
  • ([a-z]+) - 第1组捕获1个或多个小写ASCII字母(选中匹配大小写选项仅匹配小写ASCII字母与[a-z]+

替换模式详情

  • other.get - 文字other.get
  • \u$1 - 第1组的内容($1是对已捕获组1的反向引用),其第一个字符使用\u运算符({{1将捕获组的整个文本转换为大写)
  • \U - 文字\(\)(括号应在NPP Boost条件替换模式中转义)。

演示屏:

enter image description here

答案 1 :(得分:0)

这很有效。您需要两次搜索和替换通行证。参考答案:Is it possible to transform to lowercase using Eclipse's regex search and replace?

search 1:  other\.([a-z])([a-z]*)
replace 1: other.ABCDEFGHIJKLMNOPQRSTUVWXYZ$1$2

search 2:  other\.(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([a-z]*)
replace 2: other.get$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$27

答案 2 :(得分:-1)

简单的......根据http://www.regexe.com/,它可以正常工作:

search pattern -  other\.t(est)
replace pattern -  other\.getTest\(\)
祝你好运..