正则表达式
来源:互联网 发布:域名 admin php 跳转 编辑:程序博客网 时间:2024/06/03 12:21
它是一个用来规范字符串格式的表达式语言。
^ []{} $
^:表示开始
^ 匹配一个输入或一行的开头,^a 匹配"an A",而不匹配"An a"
$:表示结束
匹配一个输入或一行的结尾,a$ 匹配"An a",而不匹配"an A"
():表示一个整体
[]:表示范围
方括号表示某些字符允许在一个字符串中的某一特定位置出现:
“[ab]”:表示一个字符串有一个”a”或”b”
“^[a-zA-Z]”:表示一个以字母开头的字符串;
“[0-9]%”:表示一个百分号前有一位的数字;
“,[a-zA-Z0-9]$”:表示一个字符串以一个逗号后面跟着一个字母或数字结束。
{}:表示次数
大括号括起,用以表示重复次数的范围。
{n}:匹配N次{n,}:匹配N次以上{n,m}:匹配N-M次
"ab{2}":表示一个字符串有一个a跟着2个b("abb");"ab{2,}":表示一个字符串有一个a跟着至少2个b;"ab{3,5}":表示一个字符串有一个a跟着3到5个b。
?+* : 表示次数
? : 匹配0或1次,"{0,1}"+ : 匹配至少1次,相当于"{1,}"* : 匹配任意次数,相当于"{0,}"
"ab*":表示一个字符串有一个a后面跟着零个或若干个b。("a", "ab", "abbb",……);"ab+":表示一个字符串有一个a后面跟着至少一个b或者更多,("ab", "abbb",……);"ab?":表示一个字符串有一个a后面跟着零个或者一个b,("ac","a","ab");"a?b+$":表示在字符串的末尾,有零个或一个a,跟着一个或几个b。
word:字=字母+数字\w:一个字符(数字、大小写字母 _),匹配任何字类字符,包括下划线。 与"[A-Za-z0-9_]"等效。\W:与任何非单词字符匹配。 与"[^A-Za-z0-9_]"等效 digit:数字\d:一个数字,数字字符匹配。 等效于 [0-9]。\D:一个非数字,非数字字符匹配。 等效于 [^0-9]。space:空白\s:一个空白,匹配任何空白字符,包括空格、制表符、换页符等。 与 [ \f\n\r\t\v] 等效。\S:匹配任何非空白字符。 与 [^ \f\n\r\t\v] 等效。\t 匹配一个制表符\n 匹配一个换行符\r 匹配一个回车符[xy]:匹配[]中任意一个[^xyz] 不匹配这个集合中的任何一个字符x|y :匹配x或y\ 做为转意,即通常在"\"后面的字符不按原来意义解释,如\*表示的是一个*号
示例:
手机号:
^1[34578]\d{9}$或^1(3|4|5|7|8)\d{9}$
身份证:
//身份证正则表达式(15位)isIDCard1=/^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/;//身份证正则表达式(18位)isIDCard2=/^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{4}$/;
URL
^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
字符串是否是汉字:
^[\u4e00-\u9fa5]*$
判断是否包含:
import java.util.regex.Matcher;import java.util.regex.Pattern;/** * Created by Administrator on 2017/9/12. */public class Test1 { public static void main(String[] args) { String str = "abcd0hfsjfojfojojojoefg"; //注意一:正则表达式中 \w代表[A-Za-z0-9]中的值 //注意二:正则表达式中 *代表{0,},即0个或0个以上 //以a开头,以f结尾:FALSE String reg1 = "^a" + "\\w*" + "f$"; Pattern pattern1 = Pattern.compile(reg1); Matcher matcher1 = pattern1.matcher(str); boolean rs1 = matcher1.matches(); System.out.println(rs1); //以b开头,以g结尾:FALSE String reg2 = "^b" + "\\w*" + "g$"; Pattern pattern2 = Pattern.compile(reg2); Matcher matcher2 = pattern2.matcher(str); boolean rs2 = matcher2.matches(); System.out.println(rs2); //以a开头,以g结尾:TRUE String reg3 = "^a" + "\\w*" + "g$"; Pattern pattern3 = Pattern.compile(reg3); Matcher matcher3 = pattern3.matcher(str); boolean rs3 = matcher3.matches(); System.out.println(rs3); //以abcd开头,以oefg结尾:TRUE String reg4 = "^abcd" + "\\w*" + "oefg$"; Pattern pattern4 = Pattern.compile(reg4); Matcher matcher4 = pattern4.matcher(str); boolean rs4 = matcher4.matches(); System.out.println(rs4); //全部为汉字:TRUE String string="你好世界"; // String string="你好 世界";//带空格FALSE // String string="你好世界a";//包含字母FALSE String reg5 = "^[\\u4e00-\\u9fa5]*$"; Pattern pattern5 = Pattern.compile(reg5); Matcher matcher5 = pattern5.matcher(string); boolean rs5 = matcher5.matches(); System.out.println(rs5); }}
阅读全文
0 0
- 【正则表达式】正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- 正则表达式
- delphi下用Timage显示圆形的图像(还没有封装成控件)
- Git安装步骤
- RobotFrameWork(十一)AutoItLibrary测试库在win7(64bit)下安装及简单使用
- 转自美团技术:机器学习中的数据清洗与特征处理综述&实例详解机器学习如何解决问题
- 【计算机组成基础】系统总线
- 正则表达式
- JSP:B/S技术、http协议、Tomcat服务器、jsp的九大内置对象简介
- springMVC+velocity配置
- 在DubboX中使用高效的Java序列化(Kryo和FST)
- ALM使用
- NLP中的词性标注方法
- Ambari Samba连接Windows(具有root权限)和Linux互通进行开发
- JavaScript 正则表达式的创建,基本使用方法案例
- ImageLoader初始化配置