当前位置: 代码网 > it编程>编程语言>正则表达式 > 正则表达式中^和$的含义与实例代码

正则表达式中^和$的含义与实例代码

2024年05月18日 正则表达式 我要评论
前前一期说了(感兴趣的小伙伴可以过去看看)其中提到了^和$,当时只是简单说明了这个表达式,今天来详细说明一下使用方法先说明一下两个表达式含义:^匹配开始位置$匹配结束位置来看个简单的demoimpor

前前一期说了(感兴趣的小伙伴可以过去看看)

其中提到了^和$,当时只是简单说明了这个表达式,今天来详细说明一下使用方法

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

  • ^匹配开始位置
  • $匹配结束位置

来看个简单的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等

总结

到此这篇关于正则表达式中^和$的含义与实例的文章就介绍到这了,更多相关正则表达式^和$内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com