replaceall()正则表达式中的^和$
前前⼀期说了(感兴趣的⼩伙伴可以过去看看)
其中提到了^和$,当时只是简单说明了这个表达式,今天来详细说明⼀下使⽤⽅法
先说明⼀下两个表达式含义:
^匹配开始位置
$匹配结束位置
来看个简单的demo
import Pattern;
/**
* @author yanghao
* @version PatternTest.java, v 0.1 2019-03-30 09:41
*/
public class PatternTest {
/**
* 待匹配字符串
*/
private static final String tempStr ="A.B.C.D";
/**
* 匹配开始位置表达式
*/
private static final Pattern PATTERN_START = Patternpile("^A");
/**
* 匹配结束位置表达式
*/
private static final Pattern PATTERN_END = Patternpile("D$");
public static void main(String[] args){
System.out.println("PATTERN_START === "+ PATTERN_START.matcher(tempStr).replaceAll("demo"));        System.out.println("PATTERN_END === "+ PATTERN_END.matcher(tempStr).replaceAll("demo"));
}
}
运⾏结果如下:
PATTERN_START === demo.B.C.D
PATTERN_END === A.B.C.demo
从运⾏结果可以看出,待匹配字符串的开始和结尾已经被替换掉了
我们在来看下,⾮开头和结尾的情况
编写demo如下:
import Pattern;
/**
* @author yanghao
* @version PatternTest.java, v 0.1 2019-03-30 09:41
*/
public class PatternTest {
/**
* 待匹配字符串
*/
private static final String tempStr ="A.B.C.D";
/**
* 开始+中间字符串表达式
*/
private static final Pattern PATTERN_START_MIDDLE = Patternpile("^B");
/**
* 中间字符串表达式
*/
private static final Pattern PATTERN_MIDDLE = Patternpile("B");
public static void main(String[] args){
System.out.println("PATTERN_START_MIDDLE === "+ PATTERN_START_MIDDLE.matcher(tempStr).replaceAll("demo"));
System.out.println("PATTERN_MIDDLE === "+ PATTERN_MIDDLE.matcher(tempStr).replaceAll("demo"));
}
}
运⾏结果如下:
PATTERN_START_MIDDLE === A.B.C.D
PATTERN_MIDDLE === A.demo.C.D
此测试结果可以看出,如果加了^表达式,表⽰⼀定要以此为开始才能匹配到,那么同理,$表达式⼀定要以此为结尾才能匹配到,⼩伙伴们可以⾃⼰去写个demo测试⼀下?

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。