web正则表达式中^和$的含义是什么

蜗牛 互联网技术资讯 2022-08-09 111 0

这篇文章主要介绍“web正则表达式中^和$的含义是什么”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“web正则表达式中^和$的含义是什么”文章能帮助大家解决问题。

先说明一下两个表达式含义:

  • ^匹配开始位置

  • $匹配结束位置

来看个简单的demo

import java.util.regex.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 = Pattern.compile("^A");

    /**
     * 匹配结束位置表达式
     */
    private static final Pattern PATTERN_END = Pattern.compile("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 java.util.regex.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 = Pattern.compile("^B");

    /**
     * 中间字符串表达式
     */
    private static final Pattern PATTERN_MIDDLE = Pattern.compile("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测试一下?

附:在正则表达式中^ 和 $ 同时出现的含义

当 ^ 和 $ 同时出现时,表示只能匹配 ^ 和 $ 之间的内容,例:

/^abc$/  只能匹配'abc'

容易被理解为abcabc这种形式的也是可以的,但其实不行。

准确来说这么理解:

必须以a开头,必须以c结束,a和c的中间只写了b,所以只能匹配’abc’。

‘abcabc’的开头a和结尾c中间是’bcab’,与’b’没有任何关联,所以不对。

/^a.c$/  可以匹配a加任意单个字符加c,比如abc,aec,acc,a2c等

关于“web正则表达式中^和$的含义是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注蜗牛博客行业资讯频道,小编每天都会为大家更新不同的知识点。

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram