当前位置:网站首页>web正则表达式中^和$的含义是什么
web正则表达式中^和$的含义是什么
2022-08-09 17:27:00 【亿速云】
web正则表达式中^和$的含义是什么
这篇文章主要介绍“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正则表达式中^和$的含义是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注亿速云行业资讯频道,小编每天都会为大家更新不同的知识点。
边栏推荐
- Can't install the Vmware virtual machine on the Ark Kai server?
- 每周给我10分钟,我给你一个Flink SQL 菜谱——甜点:数据过滤
- What are some good open source automation testing frameworks to recommend?
- 【工业数字化大讲堂 第二十一期】企业数字化能碳AI管控平台,特邀技术中心总经理 王勇老师分享,8月11日(周四)下午4点
- 方舟单机/管理员特殊物品指令代码大全
- ARM Assembly Basics
- 重定向操作
- Unity Webgl与JS相互交互 Unity 2021.2之后的版本
- Discuz! Forum program installation + template configuration tutorial
- IMX6ULL—汇编LED灯
猜你喜欢

使用mysql:5.6和 owncloud 镜像,构建一个个人网盘

动手学深度学习_全卷积网络 FCN

The difference between approach and method

动态RDLC报表(一)

loadrunner script -- parameterization

日本著名设计师三宅一生去世:产品曾被国人高价抢 乔布斯也是粉丝

How to play with container local storage through open-local? | Dragon Lizard Technology

Li Yuanyuan: iMetaLab Suite metaproteomics data analysis and visualization (video + PPT)

Ark: Survival Evolved Open Server Port Mapping Tutorial

EPIC是什么平台?
随机推荐
史上最全架构师知识图谱(纯干货)
leetcode300.最长递增子序列(动态规划)
The senior told me that the MySQL of the big factory is connected through SSH
毕昇编译器优化:Lazy Code Motion
win10 uwp 获取按钮鼠标左键按下
【工业数字化大讲堂 第二十一期】企业数字化能碳AI管控平台,特邀技术中心总经理 王勇老师分享,8月11日(周四)下午4点
std::atomic_flag的test_and_set函数理解
How to play with container local storage through open-local? | Dragon Lizard Technology
What is test development and why is it so popular now?
The difference between approach and method
fastdfs-client使用
win10 uwp 设置启动窗口大小 获取窗口大小
传统数据中台又贵又复杂?何不试一试永久免费的下一代数据中台
Simple prohibition of garbage collection in d
Logic unauthorized and horizontal and vertical unauthorized payment tampering, verification code bypass, interface
jmeter-录制脚本
动手学深度学习_全卷积网络 FCN
OpenCV 轮廓 —— 轮廓匹配
十七、一起学习Lua 错误处理
进程的两种创建方式,join方法,进程间的数据隔离,队列,进程间的通信IPC机制,生产者消费者模型,守护进程,僵尸进程,孤儿进程,互斥锁