正则表达式


你很强大 http://tool.lu/regex/
http://www.runoob.com/

 

 

 

 

* 字符串:String支持正则表达式的方法
* boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。
*
* 正则表达式的基本知识
* .(句点符号)代表任意一个字符 eg: c.t 可以匹配cat,cot,c#t,但不能匹配caat
* [](句点符号)只有方括号里面指定的字符才参与匹配
* eg:表达式“t[aeio]n”只匹配“tan”、“Ten”、“tin”和“ton”。但“Toon”不匹配,因为在方括号之内你只能匹配单个字符
* |(“或”符号)结合()使用,代表或者的关系。eg:“t(a|e|i|o|oo)n” 可以匹配 tan,ten,tin,ton,toon.
* 表示匹配次数的符号
* *:代表0次或多次。
* +:代表1次或多次
* ?:0次或1次
* {n}:恰好出现n次
* {n,m}:出现n次到m次
* {n,}:至少出现n次
* eg: [0-9]{3}\-[0-9]{2}\-[0-9]{4} 匹配:3位数字-2位数字-4位数字(999-99-9999)
*
* “^”符号称为“否”符号。如果用在方括号内,“^”表示不想要匹配的字符。
* eg:[^x][a-z]{4}:5为字母,首字母不能是x,其余字母在a-z范围中
*
* 常用符号:
* \d 数字:[0-9]
* \D 非数字: [^0-9]
* \s 空白字符:[ \t\n\x0B\f\r]
* \S 非空白字符:[^\s]
* \w 单词字符: [a-zA-Z_0-9] 大小写a-z的字母,下划线,0-9数字 eg:\w{8,20}:可以匹配字母,数字和下划线并且长度在8到20位之间
* \W 非单词字符:[^\w]
*
* 匹配IP地址的正则表达式: \d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3} 注意".为要匹配字符不是通配符,所以需要使用转义符\"
* 匹配手机号码的正则表达式:1[3578]\d{9}
* String regex="1[3578]\\d{9}";
boolean isCorrect= mobile.matches(regex);//将指定字符串与正则表达式进行匹配,匹配成功返回true,否则返回false
System.out.println(isCorrect?"手机号码合法!":"手机号码不合法!")

\w{4,20}@[a-z0-9]{2,6}(\.[a-z]{2,3})+ 邮箱

 


* 字符串:String支持正则表达式的方法
* ***boolean matches(String regex) 告知此字符串是否匹配给定的正则表达式。
* replaceAll(String regex, String replacement)使用给定的 replacement 替换此字符串所有匹配给定的正则表达式的子字符串。
* replaceFirst(String regex, String replacement) 使用给定的 replacement 替换此字符串匹配给定的正则表达式的第一个子字符串。
* split(String regex)根据给定正则表达式的匹配拆分此字符串。

String regex="1[3578]\\d{9}";
boolean isCorrect= mobile.matches(regex);//将指定字符串与正则表达式进行匹配,匹配成功返回true,否则返回false
System.out.println(isCorrect?"手机号码合法!":"手机号码不合法!");

 

 

 

 

 

*在java中提供了两个类用于正则表达式的匹配和查找
*java.util.regex.Pattern类:正则表达式的编译表示形式。
* Pattern无构造函数,不能使用new关键字创建对象
*常用方法:
* compile(String regex)将给定的正则表达式编译到模式中。
* matcher(CharSequence input)创建匹配给定输入与此模式的匹配器。
* Pattern.matcher(String regex,CharSequence input)是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.
*
*java.util.regex.Matcher类: 通过解释 Pattern对字符串执行匹配操作的引擎
* Matcher类无构造函数,不能使用new关键字创建对象,只能通过Pattern中matcher方法获取实例
*常用方法:
* boolean matches() 尝试将整个区域与模式匹配。 如果匹配成功返回true,否则返回false
* boolean lookingAt() 对字符串进行匹配,匹配到的字符串可以在开始位置.
* boolean find() 对字符串进行匹配,匹配到的字符串可以在任何位置.
*
* start()返回匹配到的子字符串在字符串中的索引位置.
end()返回匹配到的子字符串的最后一个字符在字符串中的索引位置.
group()返回匹配到的子字符串

 

* ***boolean matches():将整个区域与正则表达式进行匹配
* **boolean find():尝试查找与该模式匹配的输入序列的下一个子序列
* **String group():返回由以前匹配操作所匹配的输入子序列
* boolean lookingAt():将开始的字符序列进行匹配
* int start()返回匹配成功后的第一个字符串出现的位置
* int end()返回匹配成功后的最后一个字符串出现的位置

posted on 2017-05-19 19:21  梦想这个东西  阅读(98)  评论(0编辑  收藏  举报