- 3
- 0
- 约 6页
- 2016-10-15 发布于天津
- 举报
正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入.doc
正则表达式在字符串处理上有着强大的功能,sun在jdk1.4加入了?下面4种常用功能:查询:
String?str=abc?efg?ABC;
String?regEx=a|f;???//表示a或f?
Pattern?p=Ppile(regEx);
Matcher?m=p.matcher(str);
boolean?rs=m.find();
如果str中有regEx,那rs为true,否flase。如果想在以写成Pattern?p=Ppile(regEx,Pattern.CASE_INSENSITIVE);
提取:String?regEx=.+\\\\(.+)$;
String?str=c:\\dir1\\dir2\\name.txt;
Pattern?p=Ppile(regEx);
Matcher?m=p.matcher(str);
boolean?rs=m.find();
for(int?i=1;i=m.groupCount();i++){
System.out.println(m.group(i));
}以上的name.txt,提取的字符串m.group(i)中,其中i最大m.groupCount();分割:
String?regEx=::;
Pattern?p=Ppile(regEx);
String[]?r=p.split(xd::abc::cde);
执行后,r就是{xd,abc,cde},其String?str=xd::abc::cde;
String[]?r=str.split(::);替
String?regEx=a+;?//表示一个或多个a
Pattern?p=Ppile(regEx);
Matcher?m=p.matcher(aaabbced?a?ccdeaa);
String?s=m.replaceAll(A);结果为Abbced?A?ccdeA如果写成空串,既可达到String?s=m.replaceAll();结果为bbced??ccde附:\d?等於?[0-9]?数字?\D?等於?[^0-9]?非数字?\s?等於?[?\t\n\x0B\f\r]?空白字元?\S?等於?[^?\t\n\x0B\f\r]?非空白字元?\w?等於?[a-zA-Z_0-9]?数字或是英文字?\W?等於?[^a-zA-Z_0-9]?非数字与英文字?^?表示$?表示尾
一些比较常用的 java js 正则表达式
面都是我收集的一些比较常用的正则表达式,因为平常可能在表单验证的时候,用到的比较多。特发出来,让各位朋友共同使用。呵呵。
匹配中文字符的正则表达式: [u4e00-u9fa5]
评注:匹配中文还真是个头疼的事,有了这个表达式就好办了
匹配双字节字符(包括汉字在内):[^x00-xff]
评注:可以用来计算字符串的长度(一个双字节字符长度计2,ASCII字符计1)
匹配空白行的正则表达式:ns*r
评注:可以用来删除空白行
匹配HTML标记的正则表达式:(S*?)[^]*.*?|.*? /
评注:网上流传的版本太糟糕,上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
匹配首尾空白字符的正则表达式:^s*|s*$
评注:可以用来删除行首行尾的空白字符(包括空格、制表符、换页符等等),非常有用的表达式
匹配Email地址的正则表达式:w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
评注:表单验证时很实用
匹配网址URL的正则表达式:[a-zA-z]+://[^s]*
评注:网上流传的版本功能很有限,上面这个基本可以满足需求
匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$
评注:表单验证时很实用
匹配国内电话号码:d{3}-d{8}|d{4}-d{7}
评注:匹配形式如 0511-4405222 或 021
匹配腾讯QQ号:[1-9][0-9]{4,}
评注:腾讯QQ号从10000开始
匹配中国邮政编码:[1-9]d{5}(?!d)
评注:中国邮政编码为6位数字
匹配身份证:d{15}|d{18}
评注:中国的身份证为15位或18位
匹配ip地址:d+.d+.d+.d+
评注:提取ip地址时有用
匹配特定数字:
^[1-9]d*$ //匹配正整数
^-[1-9]d*$ //匹配负整数
^-?[1-9]d*$ //匹配整数
^[1-9]d*|0$ //匹配非负整数(正整数 + 0)
^-[1-9]d*|0$ //匹配非正整数(负整数 + 0)
^[
原创力文档

文档评论(0)