正则表达式语法

普通字符

  • 匹配 "a" 将匹配文本中的 "a" 字符: 示例: a 匹配 "a"

元字符

  • \d 匹配 任意数字字符 等价于 [0-9] : 示例: \d 匹配 "1"

  • \D 匹配一个非数字字符 等价于 [^0-9]

  • \w 匹配 任意字母数字字符: 示例: \w 匹配 "a"

  • . 匹配 任意字符(除了换行符): 示例: . 匹配 "x"

量词

  • *:匹配前面的模式 0次或多次: 示例: a* 匹配 "", "a", "aa", zo* 能匹配 "z" 以及 "zoo"

  • +:匹配前面的模式 1次或多次: 示例: a+ 匹配 "a", "aa", zo+ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"

  • ?:匹配前面的模式 0次或一次: 示例: a? 匹配 "", "a"

  • {n}:匹配前面的模式 恰好 n 次: 示例: a{2} 匹配 "aa"

  • {n,}:匹配前面的模式 至少 n 次: 示例: a{2,} 匹配 "aa", "aaa"

  • {n,m}:匹配前面的模式 至少 n 次且不超过 m 次 (n <= m): 示例: a{2,3} 匹配 "aa", "aaa"

字符类

  • [ ]:匹配括号内的 任意一个字符: 示例: 例如 [aeiou] 匹配字符串 "google runoob taobao" 中所有的 e o u a 字母。

  • [^ ]:匹配 除了括号内的字符以外的任意一个字符: 示例: [^aeiou] 匹配字符串 "google runoob taobao" 中除了 e o u a 字母的所有字符

边界匹配

  • ^:匹配 字符串的开头: 示例: ^a 匹配 "a""abcd" 的开头

  • $:匹配 字符串的结尾: 示例: a$ 匹配 "a""abcda" 的结尾

  • \b:匹配 匹配一个单词边界,也就是指单词和空格间的位置: 示例: 'er\b' 可以匹配"never" 中的 'er',但不能匹配 "verb" 中的 'er'

  • \B:匹配 匹配非单词边界: 示例: 'er\B' 能匹配 "verb" 中的 'er',但不能匹配 "never" 中的 'er'

分组和捕获

  • ( ):用于 分组和捕获子表达式: 示例: (a)b 捕获 "a" 并匹配 "ab"

  • (?: ):用于 分组但不捕获子表达式: 示例: (?:a)b 匹配 "ab" 但不会捕获 "a"

特殊字符

  • \:转义字符,用于匹配 特殊字符本身: 示例: \\ 匹配 "\"

  • .:匹配 任意字符(换行符(\n、\r)) 相等于 [^\n\r]: 示例: . 已在元字符中给出

  • |:用于 指定多个模式的选择: 示例: a|b 匹配 "a""b"

常用

  • [A-Z]: 表示一个区间,匹配 所有大写字母

  • [a-z]: 表示 所有小写字母

  • [\s\S]: 表示匹配所有\s 是匹配所有空白符,包括换行,\S 非空白符(不包括换行)。

  • \w: 匹配字母、数字、下划线。等价于 [A-Za-z0-9_]

  • \d: 匹配任意一个阿拉伯数字(0 到 9)。等价于 [0-9]

^[a-zA-Z0-9_-]{3,15}$

  • ^ 表示匹配字符串的开头
  • [a-zA-Z0-9_-] 表示字符集,包含小写字母、大写字母、数字、下划线和连接字符 -
  • {3,15} 表示前面的字符集最少出现 3 次,最多出现 15 次,从而限制了用户名的长度在 3 到 15 个字符之间
  • $ 表示匹配字符串的结尾

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/44950.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

B2B领域的客户裂变策略:打造行业内的共赢生态

在日益竞争激烈的B2B市场中&#xff0c;客户裂变作为一种高效的增长策略&#xff0c;不仅能够帮助企业快速扩大客户基础&#xff0c;还能促进行业内资源共享与合作&#xff0c;共同构建一个健康、可持续的共赢生态。本文将探讨B2B领域实施客户裂变策略的关键要素&#xff0c;以…

极狐GitLab 17.0 重磅发布,100+ DevSecOps功能更新来啦~【十】

GitLab 是一个全球知名的一体化 DevOps 平台&#xff0c;很多人都通过私有化部署 GitLab 来进行源代码托管。极狐GitLab &#xff1a;https://gitlab.cn/install?channelcontent&utm_sourcecsdn 是 GitLab 在中国的发行版&#xff0c;专门为中国程序员服务。可以一键式部署…

无障碍全免费上手智能体:Autogen Studio结合Deepseek Coder打造一款AI旅游规划师

本文的唯一目的是通过打造一款AI旅游规划师&#xff0c;通俗易懂、深入浅出的讲清楚AI应用的大方向-智能体-的原理。 无需科学上网&#xff0c;无需付费API&#xff0c;无需编程能力&#xff0c;一小时即可部署、搭建一款复杂的、多代理交互的AI智能体-旅游规划师&#xff0c;…

【深度学习】PyTorch深度学习笔记02-线性模型

1. 监督学习 2. 数据集的划分 3. 平均平方误差MSE 4. 线性模型Linear Model - y x * w 用穷举法确定线性模型的参数 import numpy as np import matplotlib.pyplot as pltx_data [1.0, 2.0, 3.0] y_data [2.0, 4.0, 6.0]def forward(x):return x * wdef loss(x, y):y_pred…

关于云服务器映像和快照的一些介绍

在云计算环境中&#xff0c;服务器映像是指一个虚拟机实例的静态快照。这种映像不仅包括操作系统、应用程序和配置&#xff0c;还包括存储的状态和数据。主要作用包括&#xff1a; 快速部署新实例&#xff1a; 可以基于现有的服务器映像快速创建新的虚拟机实例&#xff0c;节省…

java入门1.5.0

前言&#xff1a; 在java入门1.4.0中&#xff0c;我们快速构建了一个基于Maven管理的Spring boot3项目&#xff0c;对基本文件结构有了初步的认知&#xff0c;创建了git仓库 正片: 看山是山&#xff0c;看山不是山&#xff0c;看山还是山&#xff0c;下面两段代码很好了验证这…

vue3项目中浏览器打开本地文档或者下载本地应用的方法(2024-07-11)

在public文件夹下面加入预览的文件【操作说明文档】。 此文件夹不会压缩并且路径不变&#xff0c;所以是最佳的存放文件的位置。 代码&#xff1a; <template><n-icon title"操作文档" style"cursor: pointer;margin-right: 10px;" size"2…

MATLAB中使用HDL Coder生成HDL代码时的报错整理

Delay balancing unsuccessful because an extra 4 cycles of latency introduced by optimizations in the feedback loop cannot be offset using design delays for the loop latency budget. 产生原因 由于时序考虑&#xff0c;在每个模块的输出端添加了1到2级的输入输出流…

力扣题解( 最长递增子序列)

300. 最长递增子序列 给你一个整数数组 nums &#xff0c;找到其中最长严格递增子序列的长度。 子序列 是由数组派生而来的序列&#xff0c;删除&#xff08;或不删除&#xff09;数组中的元素而不改变其余元素的顺序。例如&#xff0c;[3,6,2,7] 是数组 [0,3,1,6,2,2,7] 的子…

深圳比创达|EMC与EMI测试整改:打造电磁“绿色”产品的必经之路4

深圳比创达&#xff5c;EMC与EMI测试整改&#xff1a;打造电磁“绿色”产品的必经之路 随着电子技术的飞速发展&#xff0c;电子设备在日常生活和工业生产中的应用越来越广泛。然而&#xff0c;这些设备在运行时产生的电磁辐射&#xff08;EMI&#xff09;和对外界电磁干扰的敏…

java基础复习

初识 JDK&#xff08;开发包&#xff09; JRK&#xff08;运行环境&#xff09; 解释型语言 数据类型&#xff1a; 基本数据类型&#xff1a;byte short int(默认) long float double(默认) char boolean 引用数据类型&#xff1a;类 接口 数组 扩展&#xff1a; BigDecimal…

关于解决各类由于电脑名为中文导致的各类问题

解决方法&#xff1a;Anoconda安装笔记win10 更改中文用户名为英文_anaconda prompt运行索引含汉字,怎么改成英文-CSDN博客

从人工巡检到智能预警:视频AI智能监控技术在水库/河湖/水利防汛抗洪中的应用

一、背景需求分析 近日&#xff0c;我国多省市遭遇连日暴雨&#xff0c;导致水库、湖泊、河道等水域水位暴涨&#xff0c;城市内涝频发。随着夏季汛期的到来&#xff0c;降雨天气频繁&#xff0c;水利安全管理面临严峻挑战。为保障水库安全、预防和减少洪涝灾害&#xff0c;采…

MVC分页

public ActionResult Index(int ? page){IPagedList<EF.ACCOUNT> userPagedList;using (EF.eMISENT content new EF.eMISENT()){第几页int pageNumber page ?? 1;每页数据条数&#xff0c;这个可以放在配置文件中int pageSize 10;//var infoslist.C660List.OrderBy(…

【C语言】字符常量详解

目录 C语言字符常量 (Character Constants)1. 概念与定义1.1 字符常量的表示1.2 字符常量的存储 2. 特殊字符常量2.1 常见的特殊字符常量2.2 转义序列 3. 字符常量的使用3.1 条件判断输出结果&#xff1a; 3.2 字符运算输出结果&#xff1a; 3.3 数组与字符串处理输出结果&…

7.11 cf div3 A

Problem - A - Codeforces 题目概述 求最少问题数量&#xff0c;以确保能举办m轮比赛&#xff0c;每轮包含一个难度级别为 ‘A’ 到 ‘G’ 的问题。 ac代码 #include<bits/stdc.h> typedef long long ll;#define IOS ios::sync_with_stdio(0),cin.tie(0),cout.tie(0) …

最新 Kubernetes 集群部署 + flannel 网络插件(保姆级教程,最新 K8S 1.28.2 版本)

资源列表 操作系统配置主机名IP所需插件CentOS 7.92C4Gk8s-master192.168.60.143flannel-cni-plugin、flannel、coredns、etcd、kube-apiserver、kube-controller-manager、kube-proxy、 kube-scheduler 、containerd、pause 、crictlCentOS 7.92C4Gk8s-node01192.168.60.144f…

Nodejs 第八十六章(部署pm2)

Node.js如何部署? 如果要部署Nodejs项目&#xff0c;第一点肯定是需要有台服务器&#xff0c;第二点需要一个部署工具这里使用pm2 PM2 PM2 是一个非常流行的 Node.js 进程管理工具&#xff0c;用于在生产环境中运行和监控 Node.js 应用程序。它提供了多种功能&#xff0c;帮…

自建邮局服务器相比云邮箱有哪些优势特性?

自建邮局服务器如何配置&#xff1f;搭建自建邮局服务器的技术&#xff1f; 尽管云邮箱服务提供了便捷和低成本的解决方案&#xff0c;自建邮局服务器依然具有许多独特的优势和特性&#xff0c;吸引了众多企业和组织。AokSend将深入探讨自建邮局服务器相比云邮箱的主要优势。 …

结合C++智能指针聊聊观察者模式

0. 问题 问题是这样&#xff0c;三个类A,B,C。AC都有指针指向同一个B类对象&#xff0c;C类可以回收了刚刚生成的B类对象的内存&#xff0c;A类应该对这个指针进行如何操作&#xff0c;才能确保使用该指针时不会产生野指针问题发生未定义结果&#xff1f; 这是前两天面试的时候…