2015-06-25 112 views
1

我在Eclipse IDE中使用正則表達式。我試圖把用正則表達式改變字母大小寫

other.testother.getTest()

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

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

結果:other.Utest()

我認爲在小組前添加一個帶有\ U是應該改變案件,但它不適合我。有任何想法嗎?

+0

您應該使用重構了,它會自動更新所有引用。 (雙擊測試,所以它被選中,右鍵點擊它,重構=>重命名...輸入otherTest) – maraca

+0

你需要逃避。 (dot) – maraca

+0

不要以爲這會滿足我的需求。我需要一次執行多個領域,而且這些更改只會侷限於特定的方法。基本上試圖將'equals()'代的輸出改爲getters而不是直接字段訪問。 Eclipse不提供任何方式來覆蓋它。 –

回答

1

不幸的是,Eclipse的查找/替換正則表達式不支持的情況下改變運營商如\U\u\L\l。您既可以使用很長的變通方法通過jrahhali建議,或用記事本++:

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

Explantion

  • other\. - 一個字符串匹配other. (注意點必須被轉義以匹配字面點)
  • ([a-z]+) - 第1組捕獲1個或多個小寫ASCII字母(檢查區分大小寫選項只與[a-z]+匹配小寫ASCII字母)

更換圖案的詳細資料

  • other.get - 字面文本other.get
  • \u$1 - 組1的內容($1是反向引用捕獲的組1)和它的第一個字符被接通到上殼體與\u操作者(\U都會使捕獲組的整個文本到大寫)
  • \(\) - 一個文字文本()(括號應NPP轉義升壓條件替換模式)。

演示畫面:

enter image description here

0

簡單的一個。據http://www.regexe.com/它工作正常:

search pattern - other\.t(est) 
replace pattern - other\.getTest\(\) 

祝你好運..

+0

解決方案需要更通用,可應用於任何'other.xxxx'到'other.getXxxxx()' –

+0

可能會工作 - 搜索模式 - 其他\。([a-zA-Z]) ([a-zA-Z] *) 替換模式 - other.get \ U $ 1 \ E $ 2 –

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 
相關問題