正则imba,值得研究。
常用的正则表达式:
Java中的17种常用正则表达式归纳:
01、"^\\d+$" //非负整数(正整数 + 0)
02、"^[0-9]*[1-9][0-9]*$" //正整数
03、"^((-\\d+)(0+))$" //非正整数(负整数 + 0)
04、"^-[0-9]*[1-9][0-9]*$" //负整数
05、"^-?\\d+$" //整数
06、"^\\d+(\\.\\d+)?$" //非负浮点数(正浮点数 + 0)
07、"^(([0-9]+\\.[0-9]*[1-9][0-9]*)([0-9]*[1-9][0-9]*\\.[0-9]+)([0-9]*[1-9][0-9]*))$" //正浮点数
08、"^((-\\d+(\\.\\d+)?)(0+(\\.0+)?))$" //非正浮点数(负浮点数 + 0)
09、"^(-(([0-9]+\\.[0-9]*[1-9][0-9]*)([0-9]*[1-9][0-9]*\\.[0-9]+)([0-9]*[1-9][0-9]*)))$" //负浮点数
10、"^(-?\\d+)(\\.\\d+)?$" //浮点数
11、"^[A-Za-z]+$" //由26个英文字母组成的字符串
12、"^[A-Z]+$" //由26个英文字母的大写组成的字符串
13、"^[a-z]+$" //由26个英文字母的小写组成的字符串
14、"^[A-Za-z0-9]+$" //由数字和26个英文字母组成的字符串
15、"^\\w+$" //由数字、26个英文字母或者下划线组成的字符串
16、"^[\\w-]+(\\.[\\w-]+)*@[\\w-]+(\\.[\\w-]+)+$" //email地址
17、"^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$" //url
附具体使用程序:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import java.util.regex.PatternSyntaxException;
public class SpeStrFilter {
//过滤特殊字符
public static String StringFilter(String str) throws PatternSyntaxException
{
// 只允许字母和数字
// String regEx = "[^a-zA-Z0-9]";
// 清除掉所有特殊字符
String regExSymbol="--―_`〕「」∶※→←%/О<>●·~『』[]〈〉\"《》.~!б㎡@#$%%^&*()+={}':;;',\\[\\].<>/?~!#¥…&*()+ 【】‘:”“’。,、?";//特殊符号
String regExNum="01234567890123456789ⅣⅤⅥⅦⅧⅨⅩⅪⅫ";//数字
String regExletter="a-zA-Z";//字母
String regEmail ="\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*" ;//E-mail
String regURL = "^[a-zA-z]+://(\\w+(-\\w+)*)(\\.(\\w+(-\\w+)*))*(\\?\\S*)?$";
String regTelNum = "\\d{3}-\\d{8}\\d{4}-\\d{7}";//国内电话,xxx-xxxxxxx的格式
//String regEx="[-`<>●『』〈〉\"《》.~!@#$%^&*()+={}':;',\\[\\].<>/?~!@#¥%……&*()——+{} 【】‘;:”“’。,、?1234567890]";
Pattern p = Pattern.compile("["+regExSymbol+regExNum+regExletter+"]"); //选用符号组合(这里用特殊符号+数字,注意顺序,不是数字+特殊符号)
Matcher m = p.matcher(str);
return m.replaceAll("").trim();
}
public static void main(String[] args) throws PatternSyntaxException
{
String str = "*adCVs*34_a _09_b5*[/435^*&城池()^$$&*).{}+..)%%*(*.中国}34{45[]12.fd'*&999下面是中文的字符¥……{}【】。,;’“‘”?";
// String str = " <>\"再 美丽~!@#¥%……&*()- 足 部 美容 中心 采用 专业 技术 和 独特 修复 剂 可 彻底 治愈灰指甲 让 您 再现 靓 丽 双 足 生活 无 忧 无效 退款 诚信 为 本 -";
System.out.println(str);
System.out.println(StringFilter(str));
}
}
参考:http://jiake0504.javaeye.com/blog/182095
http://blog.chinaunix.net/u/21684/showart_435251.html
没有评论:
发表评论