正则表达式

基础

复制代码
\d: 一个数字('\d\d\d'可以匹配'010', '00\d'可以匹配'007',但无法匹配'00A')
\w: 一个字母或数字('\w\w\d'可以匹配'py3')
.: 任意字符('py.'可以匹配'pyc'、'pyo'、'py!')
*: 表示任意个字符(包括0个)
+: 表示至少一个字符
?: 表示0个或1个字符
{n}: 表示n个字符(\d{3}表示匹配3个数字,如'010')
{n,m}: 表示n-m个字符(\d{3,8}表示3-8个数字,例如'1234567')
\s: 可以匹配一个空格(也包括Tab等空白符),所以\s+表示至少有一个空格,例如匹配' ',' '等;

进阶

要做更精确地匹配,可以用[]表示范围

复制代码
1. [0-9a-zA-Z\_]: 可以匹配一个数字、字母或者下划线
2. [0-9a-zA-Z\_]+: 可以匹配至少由一个数字、字母或者下划线组成的字符串(如'a100','0_Z','Py3000')
3. [a-zA-Z\_][0-9a-zA-Z\_]*: 可以匹配由字母或下划线开头,后接任意个由一个数字、字母或者下划线组成的字符串
4. [a-zA-Z\_][0-9a-zA-Z\_]{0, 19}: (前面1个字符+后面最多19个字符)
5. A|B: A或B((P|p)ython可以匹配'Python'或者'python')
6. ^: 表示行的开头,(^\d表示必须以数字开头)
7. $表示行的结束,\d$表示必须以数字结束
8```
相关推荐
Rabbit_QL1 分钟前
【前端基础】npm install 是干嘛的(带参数 vs 不带参数)
前端·npm·node.js
想拿大厂offer2 分钟前
【Linux】编辑器、IDE 与操作系统:Linux 开发工具链的哲学与实践
linux·ide·编辑器
这是程序猿3 分钟前
MySQL 索引一篇讲透:原理、分类、优化与面试总结
java·前端·mysql
IT_陈寒4 分钟前
被JavaScript的隐式类型转换坑到怀疑人生
前端·人工智能·后端
Highcharts.js6 分钟前
实战指南:如何构建一套全平台适配的响应式图表系统?
前端·javascript·highcharts·实战代码·响应式图表
面向对象World13 分钟前
养虾从入门到放弃(Windows&Ubuntu)
linux·运维·ubuntu
lihaozecq14 分钟前
我用 1 个月写了一个 Web AI Coding Agent,今天开源 —— code-artisan
前端·agent·ai编程
Danileaf_Guo15 分钟前
Ubuntu 26.04桌面版部署
linux·运维·服务器·ubuntu
77美式18 分钟前
手机端键盘弹出导致页面抖动
前端·javascript·uniapp
鹏程十八少18 分钟前
8. 2026金三银四 Android别再说你会用 RecyclerView了!20道面试题测测你的真实水平
前端·后端·面试