正则表达式学习笔记
正则表达式学习笔记
常用正则表达式
1、匹配字母 Pattern pattern=Pattern.compile("[a-zA-Z]+");
2、匹配数字 Pattern pattern=Pattern.compile("[0-9]+");
3、匹配字母和数字 Pattern pattern=Pattern.compile("([0-9]+)|([a-zA-Z]+)");
4、匹配百度排行榜 Pattern pattern=Pattern.compile("<a target=\"_blank\" title=\"(\\S*)\"");
5、匹配IP地址:Pattern pattern=Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+");
6、匹配4位数字:Pattern pattern=Pattern.compile("\\d\\d\\d\\d");
7、匹配
需要转义的字符
.*+()$/\?[]^{}
元字符
| 符号 | 含义 | 示例 | 说明 | 匹配输入 |
|---|---|---|---|---|
| [] | 可接收的字符列表 | [efgh] | e、f、g、h中的任意1个字符 | |
| [^] | 不可接收的字符列表 | [^abc] | 除a、b、c之外的任意1个字符,包括数字和特殊符号 | |
| - | 连字符 | A-Z | 任意单个大写字母 | |
| . | 匹配除\n以外的任何字符 | a…b | 以a开头,b结尾,中间包括2个任意字符的长度为4的字符串 | aaab、aefb、a35b、a#*b |
| \d | 匹配单个数字字符,相当于[0-9] | \\d{3}(\\d)? | 包含3个或4个数字的字符串 | 123、9876 |
| \D | 匹配单个非数字字符串,相当于[^0-9] | \\d(\\d)* | 以单个非数字字符串开头,后接任意个数字字符串 | a、A342 |
| \w | 匹配单个数字、大小写字母字符,相当于[0-9a-zA-Z_] | \\d{3}\\w{4} | 以3个数字字符串开头的长度为7的数字字母字符串 | 234abcd、12345Pe |
| \W | 匹配单个非数字、大小写字符,相当于[^0-9a-zA-Z_] | \\W+\\d{2} | 以至少1个非数字字母字符开头,2个数字字符结尾的字符串 | #29、#?@10 |
| (?i) | 不区分大小写 | (?i)abc、a(?i)bc、a((?i)b)c | 1、abc都不区分大小写;2、bc不区分大小写;3、仅b不区分大小写 | |
| \\s | 匹配任何空白字符(空格,制表符等) | |||
| \\S | 匹配任何非空白字符(空格,制表符等) | |||
| 竖杠 | 匹配竖杠之前或之后的表达式 |
限定符

Java调用代码
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class Test {public static void main(String[] args) {String content=".......";Pattern pattern=Pattern.compile("\\d+\\.\\d+\\.\\d+\\.\\d+");//Pattern pattern=Pattern.compile(regStr,Pattern.CASE_INSENSITIVE);// 不区分大小写Matcher matcher = pattern.matcher(content);while(matcher.find()) {System.out.println("--> "+matcher.group(0));}}
相关文章:
正则表达式学习笔记
正则表达式学习笔记 常用正则表达式 1、匹配字母 Pattern patternPattern.compile("[a-zA-Z]"); 2、匹配数字 Pattern patternPattern.compile("[0-9]"); 3、匹配字母和数字 Pattern patternPattern.compile("([0-9])|([a-zA-Z])")…...
构建数据可视化(基于Echarts,python)
构建数据可视化(基于Echarts,python) 本文目录: 一、写在前面的题外话 二、数据可视化概念 三、用Python matplotlib库绘制数据可视化图 四、基于Echarts构建大数据可视化 4.1、安装echarts.js 4.2、数据可视化折线图制作 4.2.1、基础折线图 4.2…...
【2023最新版】R安装(直接+Anaconda)及使用(Pycharm配置R)教程
目录 一、R语言 1. R官网 2. R介绍 二、直接安装R 1. 下载 2. 安装 三、Pycharm使用R 1. 安装Pycharm 2. R Language for IntelliJ插件 3. R设置 报错 4. R软件包 安装 加载 查看已安装的包 四、使用Anaconda创建R语言虚拟环境 1. 安装Anaconda 2. 创建R语言…...
opencv 案例实战02-停车场车牌识别SVM模型训练及验证
1. 整个识别的流程图: 2. 车牌定位中分割流程图: 三、车牌识别中字符分割流程图: 1.准备数据集 下载车牌相关字符样本用于训练和测试,本文使用14个汉字样本和34个数字跟字母样本,每个字符样本数为40,样本尺…...
Vue实例挂载的过程
一、思考 我们都听过知其然知其所以然这句话 那么不知道大家是否思考过new Vue()这个过程中究竟做了些什么? 过程中是如何完成数据的绑定,又是如何将数据渲染到视图的等等 二、分析 首先找到vue的构造函数 源码位置:src\core\instance\…...
dvwa xss通关
反射型XSS通关 low难度 选择难度: 直接用下面JS代码尝试: <script>alert(/xss/)</script>通关成功: medium难度 直接下面代码尝试后失败 <script>alert(/xss/)</script>发现这段代码直接被输出: 尝试…...
AD如何进行汉化
AD如何进行汉化 通过安装好AD后,默认都是英文界面模式,如果想汉化为中文模式,需要点击“DXP”->“参数选择”,打开界面如下: 然后将上图“本地化”下面的方框勾选上,点击“应用”,“确定”…...
【JUC基础】JUC入门基础
目录 什么是JUC线程和进程锁传统的 synchronizedLock 锁Synchronized 与 Lock 的区别 生产者和消费者问题Synchronized 版Lock版Condition 的优势:精准通知和唤醒线程 8 锁现象问题1:两个同步方法,先执行发短信还是打电话?问题2&a…...
自然语言处理: 第十章GPT的API使用
理论基础 现在的以GPT为首的生成类模型,它拥有对话的能力,它会根据你输入的暗示(prompt)或者指令(instruct)生成对应的回答。所以,不同的输入会导致不同的输出(其实由于chatgpt最终生成的答案是beam_search 以及随机采样的机制,所…...
docker使用harbor进行镜像仓库管理演示以及部分报错解决
目录 一.安装harbor和docker-compose 1.下载 2.将该文件修改为这样,修改好自己的hostname和port,后文的用户和密码可以不改也可以改,用于登录 3.安装 二.修改daemon.json文件和/etc/hosts文件 三.使用powershell作windows端域名映射 四…...
【精算研究01/10】 计量经济学的性质和范围
一、说明 计量经济学是使用统计方法来发展理论或测试经济学或金融学中的现有假设。计量经济学依赖于回归模型和零假设检验等技术。计量经济学也可以用来预测未来的经济或金融趋势。 图片来源:https://marketbusinessnews.com 二、 计量经济之简介 计量经济学是对经济…...
【python知识】用 Tkinter实现“剪刀-石头-布”和“弹球游戏 ”
一、提要 Tkinter是一个Python内置模块,它提供了一个简单易用的界面来创建GUI。 在实现一些动态的画面、如游戏还是需要一些创新性思维的。在本文中,我们将使用 Tkinter 探索 Python GUI 编程。我们将介绍 Tkinter 的基础知识,并演示如何使用…...
Android 绘制之文字测量
drawText() 绘制文字 绘制进度条:paint.strokeCap Paint.CAP.RONUD 线条两边样式 设置文字字体:paint.typeFace Resources.Compat.getFont(context,font) 设置加粗 paint.isFakeBoldText 设置居中: paint.setTextAlign Paint.Align.CENTER //居中, 并不是真正的居中 往…...
基于AVR128单片机智能传送装置
一、系统方案 1、板载可变电阻(电位器)R29的电压作为处理器ATmega128的模数转换模块中单端ADC0的模拟信号输入(跳线JP13短接)。 2、调节电位器,将改变AD转换接口ADC0的模拟信号输入,由处理器完成ADC0的A/D转…...
Nexus私有仓库+IDEA配置远程推送
目录 一、docker安装nexus本地私服,Idea通过maven配置deploy本地jar包(简单) 二、docker push镜像到第三方nexus远程私服(shell命令操作) 三、springboot通过maven插件自动生成docker镜像并push到nexus私服…...
idea2023项目上传到gitee
1、按照gitee插件 File——>Settings plugins——>Marketplace下面搜索gitee,然后按照gitee插件 2、上传项目 VCS_——>Share Project on Gitee 如果第一次没登录的需要先登录,登录完后就可以上传了...
【golang】派生数据类型---指针 标识符、关键字等
1、指针 对比C/C中的指针,go语言中的指针显得极为简洁,只是简单的获取某个空间的地址 或者 根据指针变量中的内容 获取对应存储空间的内容等操作。 具体示例如下: go中使用指针需要注意的点: 可以通过指针改变它所指向的内存空…...
深度学习技术
深度学习是什么? 深度学习,英文名为Deep Learning,其实就是机器学习的一种高级形式。它的灵感来源于人脑神经网络的工作方式,是一种让机器可以自主地从数据中学习和提取特征的技术。你可以把它想象成一位小侦探,通过不…...
TCP/IP网络江湖——物理层护江山:网络安全的铁壁防线(物理层下篇:物理层与网络安全)
TCP/IP网络江湖——物理层护江山:网络安全的铁壁防线(物理层下篇:物理层与网络安全) 〇、引言一、物理层的隐私与保密1.1 加密技术的护盾1.2 安全传输协议的密约1.3 物理层的安全控制1.4 面对未知威胁的准备二、电磁干扰与抵御2.1 电磁干扰的威胁2.2 抗干扰技术的应用2.3 屏…...
python-数据可视化-使用API
使用Web应用程序编程接口 (API)自动请求网站的特定信息而不是整个网页,再对这些信息进行可视化 使用Web API Web API是网站的一部分,用于与使用具体URL请求特定信息的程序交互。这种请求称为API调用 。请求的数据将以易于处理的…...
JSON Lint for PHP:如何构建企业级JSON数据验证解决方案?
JSON Lint for PHP:如何构建企业级JSON数据验证解决方案? 【免费下载链接】jsonlint JSON Lint for PHP 项目地址: https://gitcode.com/gh_mirrors/jso/jsonlint 在现代Web开发和API设计中,JSON数据验证是确保系统稳定性的关键环节。…...
clipboardy跨平台兼容性解析:支持macOS、Windows、Linux的完整解决方案
clipboardy跨平台兼容性解析:支持macOS、Windows、Linux的完整解决方案 【免费下载链接】clipboardy Access the system clipboard (copy/paste) 项目地址: https://gitcode.com/gh_mirrors/cl/clipboardy clipboardy是一款功能强大的跨平台剪贴板工具&#…...
2026年,你的企业为什么还不会用AI发稿?技术人深度拆解Infoseek媒体库
最近GitHub上又一个开源项目火了,能自动生成并发布技术博客。这让我想到,在我们讨论AI取代程序员的同时,另一个领域的“自动化”早已跑在了前面——企业的媒体内容发布。很多技术团队还在手动找渠道、求小编,而一些市场部同事&…...
无代码构建AI智能体:Databerry实战指南与RAG应用解析
1. 项目概述:告别代码,用Databerry构建专属AI智能体如果你对AI聊天机器人感兴趣,但又觉得从零开始写代码、调模型、处理向量数据库这些事太麻烦,那Databerry这个项目可能就是为你准备的。简单来说,Databerry是一个“无…...
PointPillars 架构详解
PointPillars 是自动驾驶 3D 目标检测领域里一篇里程碑式的工作,发表于 CVPR 2019,作者来自 nuTonomy。它的核心贡献是提出了一种极其简洁但高效的点云编码方式,在 KITTI benchmark 上以 62Hz 的推理速度打败了当时所有方法,包括同…...
Overture开源框架:快速部署生产级大语言模型API服务
1. 项目概述:一个开箱即用的开源AI应用框架最近在折腾AI应用开发的朋友,估计都绕不开一个核心问题:如何快速、稳定地把一个大语言模型(LLM)的能力,封装成一个能对外提供服务的API,并且这个服务还…...
从航拍云台到机器人关节:手把手教你用STM32F103和MPU6050实现二自由度姿态稳定
从零打造二自由度姿态稳定系统:STM32F103与MPU6050实战指南 1. 项目背景与核心需求 在无人机航拍、机器人关节控制等领域,姿态稳定系统扮演着关键角色。想象一下,当你用自制无人机拍摄视频时,画面总是晃动不稳;或者机器…...
ARM GICv3虚拟中断控制器与ICV_IGRPEN0_EL1寄存器解析
1. ARM GICv3虚拟中断控制器架构概述在现代处理器架构中,中断控制器是连接外设与CPU的关键枢纽。ARM架构的通用中断控制器(GIC)经过多代演进,GICv3架构在虚拟化支持方面实现了重大突破。作为第三代中断控制器,GICv3不仅继承了前代产品的优势特…...
ARM GICv3中断控制器架构与ICC_CTLR_EL3寄存器解析
1. ARM GICv3中断控制器架构概述在现代处理器架构中,中断控制器是连接外设与CPU核心的关键枢纽。ARM的通用中断控制器(Generic Interrupt Controller, GIC)经过多代演进,GICv3架构在虚拟化支持、多安全域管理和扩展性方面实现了显著提升。作为GICv3的核心…...
别只看参数!手把手教你用正点原子DS100抓取并分析PWM波形(附数据导出教程)
别只看参数!手把手教你用正点原子DS100抓取并分析PWM波形(附数据导出教程) 在嵌入式开发中,PWM信号调试是每个工程师都会遇到的场景。无论是电机控制、LED调光还是通信解码,精准捕获和分析PWM波形都是项目成败的关键。…...
