正则表达式匹配空值方式如下:
\b 匹配单词开头或结尾位置
^ 匹配字符串开端位置
$ 匹配字符串结尾位置
\s 匹配一切空白字符
\n 匹配换行
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。
扩展资料:
构造正则表达式的方法和创建数学表达式的方法一样。也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式。正则表达式的组件可以是单个的字符、字符集合、字符范围、字符间的选择或者所有这些组件的任意组合。
正则表达式是由普通字符(例如字符 a 到 z)以及特殊字符(称为"元字符")组成的文字模式。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式作为一个模板,将某个字符模式与所搜索的字符串进行匹配。
参考资料来源:百度百科-正则表达式
先介绍几种常用的方法:
1、使用MatchString函数或Match函数
regexp.MatchString(pattern string, s string) pattern为正则表达式,s为需要校验的字符串
regexp.Match(pattern string, b []byte) pattern为正则表达式,s为需要校验的字符串
它们的作用都是匹配,区别在于参数为字符串和切片
实例如下:
2、使用 Compile函数或MustCompile函数
它们的区别是Compile返回两个参数 Regexp,error类型,而MustCompile只返回 Regexp类型
它们的作用是将正则表达式进行编译,返回优化的 Regexp 结构体,该结构体有需多方法。
实例如下:
3、查找正则匹配字串( 注:函数名包含string的所传参数为string 其他的均为[]byte 带All是所有)
查找正则匹配的字符串位置( 注:函数名包含string的所传参数为string 其他的均为[]byte 带All是所有)
4、替换
正则替换
按原文替换
函数处理替换源字串
5、Regexp结构体中一些常用的方法
1.使用Character.isDigit(char)判断String str = "123abc"
if (!"".equals(str)) {
char num[] = str.toCharArray()//把字符串转换为字符数组
StringBuffer title = new StringBuffer()//使用StringBuffer类,把非数字放到title中
StringBuffer hire = new StringBuffer()//把数字放到hire中
for (int i = 0i <num.lengthi++) {
// 判断输入的数字是否为数字还是字符
if (Character.isDigit(num[i])) {把字符串转换为字符,再调用Character.isDigit(char)方法判断是否是数字,是返回True,否则False
hire.append(num[i])// 如果输入的是数字,把它赋给hire
} else {
title.append(num[i])// 如果输入的是字符,把它赋给title
}
}
2.使用类型转换判断
try {
String str="123abc"
int num=Integer.valueOf(str)//把字符串强制转换为数字
return true//如果是数字,返回True
} catch (Exception e) {
return false//如果抛出异常,返回False
}
3.使用正则表达式判断
String str = ""
boolean isNum = str.matches("[0-9]+")
//+表示1个或多个(如"3"或"225"),*表示0个或多个([0-9]*)(如""或"1"或"22"),?表示0个或1个([0-9]?)(如""或"7")
4.使用Pattern类和Matcher
String str = "123"
Pattern pattern = Pattern.compile("[0-9]+")
Matcher matcher = pattern.matcher((CharSequence) str)
boolean result = matcher.matches()
if (result) {
System.out.println("true")
} else {
System.out.println("false")
}