README
本文讨论了正则表达式的一些应用,由浅入深。
匹配邮箱
String mail = "123abcABC_@123abcABC.com.cn.abc.ABC";
String reg = "[a-zA-Z0-9_]+@[a-zA-Z0-9]+(\\.[a-zA-Z]+)+";
if(mail.matches(reg))
System.out.println("匹配成功");
else
System.out.println("匹配失败");
利用“组”来替换代码
在IDE中,使用正则表达式替换代码,例如把C++风格的bool变量定义,替换为Java风格的变量定义:
- 匹配格式
bool ([a-zA-Z]+)=0;
,替换格式boolean $1 = false;
- 匹配格式
bool ([a-zA-Z]+)=1;
,替换格式boolean $1 = true;
- 效果:
bool a=0;
变成boolean a = false;
给所有没有加public static修饰符的变量追加这两个修饰符:
- 匹配格式
(^[\s]+)(boolean|double|String|int|List)
,替换格式$1public static $2
- 效果:
boolean a = false;
变成public static boolean a = false;
Greedy 和 Reluctant
看两个例子: