一、正则表达式
可以用来校验字符串的特殊的字符串语法表达式。
实验:用代码检查QQ号码,要求必须时10位,纯数字,第一位不为0
比较自己写代码校验 和 使用正则表达式校验,体验正则表达式的优势。
正则表达式基本语法:
表示一个字符:写这个字符的本身即可
表示一类字符:中括号括起来,可以用-表示范围[0-9] [a-z_A-Z]
除了一类字符:用^表示取反 [^a-f]
.表示任意字符
\d代表数字
\D代表非数组
\w单词字符[a-zA-Z0-9_]
\W非单词字符
^行的开头
$行的结尾
+一次或多次
?零次或依次
*零次或多次
{3}指定次数
{3,}至少3次
{3,5}3到5次
()可以组成一个组 在正则中可以使用 \数字 引用这个组的值 在字符串中用 $数字 引用这个组的值
1.匹配
String.matches(String pattern);
2.切割
String [] splite(String pattern);
3.替换
String replaceAll(String pattern,String str);
4.获取
Pattern类 -- 代表正则表达式的类
Matcher类 -- 代表正则和字符串匹配操作的类
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();
可以用来校验字符串的特殊的字符串语法表达式。
实验:用代码检查QQ号码,要求必须时10位,纯数字,第一位不为0
比较自己写代码校验 和 使用正则表达式校验,体验正则表达式的优势。
正则表达式基本语法:
表示一个字符:写这个字符的本身即可
表示一类字符:中括号括起来,可以用-表示范围[0-9] [a-z_A-Z]
除了一类字符:用^表示取反 [^a-f]
.表示任意字符
\d代表数字
\D代表非数组
\w单词字符[a-zA-Z0-9_]
\W非单词字符
^行的开头
$行的结尾
+一次或多次
?零次或依次
*零次或多次
{3}指定次数
{3,}至少3次
{3,5}3到5次
()可以组成一个组 在正则中可以使用 \数字 引用这个组的值 在字符串中用 $数字 引用这个组的值
1.匹配
String.matches(String pattern);
2.切割
String [] splite(String pattern);
3.替换
String replaceAll(String pattern,String str);
4.获取
Pattern类 -- 代表正则表达式的类
Matcher类 -- 代表正则和字符串匹配操作的类
Pattern p = Pattern.compile("a*b");
Matcher m = p.matcher("aaaaab");
boolean b = m.matches();