java中正则表达式中的^和$有什么用,给我举个例,谢谢大神们

Python012

java中正则表达式中的^和$有什么用,给我举个例,谢谢大神们,第1张

比如有正则表达式如下:

"\d+"和"^\d+"

那么字符串"a123456789"匹配第一个正则表达式是能匹配通过的,但是第二个就不行

^符号在正则表达式第一位出现表示的是强匹配开头,也就是必须是\d+开头的字符串才能匹配通过,中间一部分符合\d+规则的匹配不通过,$同理,是强结束匹配用的

^匹配开始位置

$匹配结束位置

比如第一条正则的意思是 15个数字或者18个数字,多一个或少一个都不行,这就是^,$起的作用,要是不加$,16个数字也是可以匹配的,不过只能匹配到第15个

public boolean isDigit(String strNum) {

return strNum.matches("[0-9]{1,}")

}

// 判断一个字符串是否都为数字

public boolean isDigit(String strNum) {

Pattern pattern = Pattern.compile("[0-9]{1,}")

Matcher matcher = pattern.matcher((CharSequence) strNum)

return matcher.matches()

}

//截取数字

public String getNumbers(String content) {

Pattern pattern = Pattern.compile("\\d+")

Matcher matcher = pattern.matcher(content)

while (matcher.find()) {

return matcher.group(0)

}

return ""

}

// 截取非数字

public String splitNotNumber(String content) {

Pattern pattern = Pattern.compile("\\D+")

Matcher matcher = pattern.matcher(content)

while (matcher.find()) {

return matcher.group(0)

}

return ""

}

// 判断一个字符串是否含有数字

public boolean hasDigit(String content) {

boolean flag = false

Pattern p = Pattern.compile(".*\\d+.*")

Matcher m = p.matcher(content)

if (m.matches())

flag = true

return flag

}