- 正则表达式的优点
简单有效的编写代码来验证用户输入--验证输入是否是一个数字、知否全部小写的字符串。正则表达式就是用来设置规则(记录文本规则的代码),来完成我们需求的一些操作(登录验证、搜索指定的东西等)
- 正则表达式定义
正则表达式是一个字符串,用来描述匹配一个字符串集合的模式。对于字符串处理来说,正则表达式是一个强大的工具。可以使用正则表达式来匹配、替换和拆分字符串(计算机科学的一个概念)。
- 定义正则表达式
var regex = new RegExp("a");//使用RegExp直接new一个
var regex = /a/;//简写方法,凉鞋刚内不能为空
- 正则表达式的常用方法
匹配字符串
Java的正则表达式是由java.util.regex的Pattern和Matcher类实现的。matches不仅可以匹配固定字符串,还可以匹配一个模式的字符串集。
String类的matches方法将会返回true:(以下语句都是true)
“Java is fun”.matches("Java.*")
“Java is cool”.matches("Java.*")
“Java is powful”.matches("Java.*")
正则表达式语法
注意:反斜杠是一个特殊字符,在字符串中开始转义序列Java中需要用\d来表示d;
单词字符是任何的字母,数字或者下划线字符;
不要在重复量词符中使用空白;
可以使用括号来将模式进行分组,例如,(ab){3}匹配ababab,但是ab{3}匹配abbba
替换和分割字符串String类也包含repalceAll、replaceFirst和split方法,用于替换和分割字符串,例如:
如果字符串匹配模式,则返回true;并将匹配的子字符串替换为replacement变量中的字符串,并返回新的字符串;返回一个字符串数组,包含被匹配模式的分割符分割的子字符串;与前面的分割方法等同,除开limit参数控制了模式应用的次数。
1.拆分字符串
例1
System.out.println("Java Java Java".replaceAll("v\w","wi"));
System.out.println("Java Java Java".replaceFirst("v\w","wi"));
运行结果
Jawi Jawi Jawi Jawi Java Java
例2
String s = "1-2-4-6"; String regex = "-"; String[] result = s.split(regex); System.out.println(Arrays.toString(result));
运行结果
[1,2,4,6]
例3
String s = "11, 22;;33 44"; String regex = "[,;\s]+"; String[] result = s.split(regex); System.out.println(Arrays.toString(result));
运行结果
[11,22,33,44]
2.替换字符串
String s = "Hi12345java678910"; String regex = "[0-9]"; String result = s.replaceAll(regex, "#"); System.out.println(result);
运行结果
hi#####java######



