天天看点

Eclipse 正则表达式 查找与替换

CTRL + space in the textboxes gives you all kinds of suggestions for regular expression writing. 

Eclipse 正则表达式 查找与替换

查找

Eclipse 正则表达式 查找与替换
Eclipse 正则表达式 查找与替换

替换

Eclipse 正则表达式 查找与替换

Be sure to check out the \C regular expression operator, which I think is specific to Eclipse.

It saves a lot of work in replacing the same word in upper-case, lower-case, and camelCase variants.

For example, if the original text is:

SomeObject someObject = SOMEOBJECT;      

then doing a "Replace All" replacing 

someObject      

with 

\CanotherObject      

will get you:

AnotherObject anotherObject = ANOTHEROBJECT;      

 https://dzone.com/articles/using-regular-expressions

I had an old method with hundreds of lines doing calling a getAttribute("X") and casting the result to a string.

(String)object1.getAttribute("X")
(String)object2.getAttribute("Y")
(String)objectN.getAttribute("Z")      

I had to change them all to use a new method that checks if the attribute is null. So the new line would be

getSafeStringAttribute(object1,"X")
getSafeStringAttribute(object2,"Y")
getSafeStringAttribute(objectN,"Z")      

With this simple regEx you can do a replace all!

find :

\(String\)(.+)\.getAttribute\("(.+)"\)

replace:    getSafeStringAttribute($1,"$2")

The first (.+) will match the objectX part while the second will match the attribute name.

The best thing is that when you select some text and

type CTRL + F (if the Regular Expressions checkbox is ticked)

you string in the find will be already escaped from characters like '(', ')' etc! 

Eclipse 正则表达式 查找与替换