【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

【Java Web学习 | 第14篇】JavaScript(8) -正则表达式

🌈个人主页: Hygge_Code🔥热门专栏:从0开始学习Java | Linux学习| 计算机网络💫个人格言: “既然选择了远方,便不顾风雨兼程”

在这里插入图片描述

文章目录

JavaScript 正则表达式详解

正则表达式是处理字符串的强大工具,在 JavaScript 中被广泛应用于表单验证、文本处理和数据提取等场景。本文将从正则表达式的基本概念出发,详细介绍其语法规则和实际应用方法。

什么是正则表达式🤔

正则表达式是用于匹配字符串中字符组合的模式,在 JavaScript 中以对象形式存在。它主要用于:

  • 验证表单输入(如限制只能输入特定字符)
  • 过滤文本中的敏感词
  • 从字符串中提取特定信息

JavaScript 正则表达式的定义与使用🥝

在 JavaScript 中,定义正则表达式有两种方式:

1. 字面量语法

const 规则变量名 =/表达式/;

2. 常用匹配方法

test() 方法🍋‍🟩

用于检测字符串是否符合正则表达式规则,返回布尔值:

const find =/前端/;const str ="我们在学习前端,希望突击前端赶大项目的进度"; console.log(find.test(str));// true(字符串中包含"前端")
exec() 方法🍋‍🟩

在字符串中执行匹配搜索,返回匹配结果数组或 null:

console.log(find.exec(str));// 返回包含"前端"的数组

正则表达式的核心组成部分🐦‍🔥

1. 元字符

元字符是具有特殊含义的字符,可分为以下几类:

边界符

用于指定字符的位置:

  • ^:表示匹配行首的文本(以指定字符开始)
  • $:表示匹配行尾的文本(以指定字符结束)

^$ 一起使用时,表示精确匹配:

console.log(/^哈$/.test("哈"));// true(精确匹配单个"哈") console.log(/^哈$/.test("哈哈"));// false(不是单个"哈")
量词

用于指定字符出现的次数:

  • *:重复 0 次或更多次
  • +:重复 1 次或更多次
  • ?:重复 0 次或 1 次
  • {n}:重复 n 次
  • {n,}:重复 n 次或更多次
  • {n,m}:重复 n 到 m 次(注意逗号两侧不能有空格)

示例:

console.log(/^哈{2}$/.test("哈哈"));// true(正好出现2次) console.log(/^哈{2,4}$/.test("哈哈哈哈"));// true(出现4次,在2-4范围内) console.log(/^哈{2,}$/.test("哈哈哈哈"));// true(出现4次,不少于2次)
字符类

用于匹配一类字符:

  1. []:匹配字符集合中的任意一个字符
console.log(/[abc]/.test("andy"));// true(包含"a") console.log(/[abc]/.test("die"));// false(不包含a、b、c中任何一个)
  1. 连字符 -:表示一个范围
console.log(/^[a-z]$/.test("p"));// true(小写字母) console.log(/^[A-Z]$/.test("B"));// true(大写字母) console.log(/^[0-9]$/.test("2"));// true(数字)
  1. 取反符号 ^:在 [] 内使用,表示匹配除指定字符外的任意字符
console.log(/^[^a-zA-Z0-9]$/.test("!"));// true(非字母数字)
  1. 预定义字符类:常见模式的简写
    • \d:匹配 0-9 之间的任意数字(相当于 [0-9]
    • \D:匹配非数字(相当于 [^0-9]
    • \w:匹配字母、数字和下划线(相当于 [A-Za-z0-9_]
    • \W:匹配非字母、数字和下划线
    • \s:匹配空格(包括换行符、制表符等)
    • \S:匹配非空格字符

2. 修饰符

修饰符用于约束正则表达式的执行行为:

  • i:忽略大小写(ignore)
  • g:全局匹配(global)

示例:

// 忽略大小写 console.log(/a/i.test("A"));// true console.log(/^java$/i.test("JAVA"));// true// 全局替换const str2 ="我草,整个沧南市都因林七夜一人而存在,我草";const ret2 = str2.replace(/我草/g,"**");// 替换所有匹配项 console.log(ret2);// "**,整个沧南市都因林七夜一人而存在,**"

简单示例🍂

表单验证

// 验证QQ号(从10000开始)const qqReg =/^[1-9][0-9]{4,}$/;// 验证日期格式(yyyy-mm-dd)const dateReg =/^\d{4}-\d{1,2}-\d{1,2}$/;

如果我的内容对你有帮助,请 点赞 , 评论 , 收藏 。创作不易,大家的支持就是我坚持下去的动力!

在这里插入图片描述

Read more

【AI】2026年AI学习路线(从入门到精通)重点版

一、2026年AI学习知识图谱(从入门到精通) (一)入门阶段(0-6个月):建立认知,夯实基础 核心目标:掌握AI基础概念、必备数学与编程能力,能实现简单机器学习模型,建立系统的AI认知框架。 核心内容: * AI通识:AI发展史、核心概念、主要学派、经典案例,了解2026年AI前沿趋势(如多模态、具身智能)。 * 数学基础:微积分、线性代数、概率论与统计、优化理论,掌握AI算法所需的数学工具。 * 编程基础:Python核心语法、数据结构与算法、CUDA基础,能熟练使用Python处理数据、编写简单代码。 * 传统机器学习入门:监督/无监督学习基础、线性回归、决策树、模型评估方法,入门Scikit-learn工具。 * 基础实践:完成鸢尾花分类、房价预测等简单项目,参与Kaggle入门赛,积累基础实战经验。 (二)进阶阶段(6-12个月):掌握核心算法,

零代码AI革命:万字实战指南,用Dify轻松构建企业级智能知识库

零代码AI革命:万字实战指南,用Dify轻松构建企业级智能知识库

前言 在当今这个信息爆炸的时代,数据已成为企业和个人的核心资产。然而,如何从浩如烟海的文档、报告、手册和笔记中,高效、精准地提取所需信息,已成为一个普遍存在的痛点。传统的关键词搜索,面对复杂和口语化的查询时常常显得力不从心,无法真正理解用户的深层意图。我们迫切需要一种更智能、更接近自然语言交互的解决方案。 当下普遍存在的几大痛点: 1. 知识孤岛与检索困境: 企业内部的知识散落在不同的系统(如 Confluence, SharePoint, 本地文件夹)中,形成一个个信息孤岛。员工,尤其是新员工,为了找到一个问题的答案,可能需要在多个平台之间来回切换,耗费大量时间,效率低下。 2. AI 技术应用门槛高昂: 大语言模型(LLM)的出现为解决上述问题带来了曙光。但对于大多数非 AI 专业的开发者和中小企业而言,从零开始部署、微调、管理一个大模型,并将其封装成可用的应用,涉及到复杂的后端开发、算法知识、GPU 资源管理和高昂的运维成本,是一项几乎不可能完成的任务。 3.

从0到1上手OpenClaw:本地安装 + 云部署全攻略,人人都能拥有专属 AI 执行助手

从0到1上手OpenClaw:本地安装 + 云部署全攻略,人人都能拥有专属 AI 执行助手

在上一篇深度解析中,我们见证了 OpenClaw 如何打破 AI “只会说不会做” 的桎梏,从对话式 AI 进化为能落地执行的数字助手。很多朋友留言表示,被 OpenClaw 的全场景能力打动,却卡在了 “安装部署” 这第一步,担心代码门槛太高无从下手,或是怕踩了环境配置的坑迟迟无法启动。 作为系列教程的开篇,我们就从最零门槛、零成本的本地安装讲起,全程附带可直接复制的命令、新手避坑提醒,哪怕你是第一次接触终端操作,跟着步骤走也能顺利完成安装,真正实现 “一句话指令,AI 全流程执行”。 1. 安装前的必备准备 在正式开始安装前,做好这几项基础准备,能帮你避开 90% 的前期踩坑,大幅提升部署成功率,所有需要用到的工具均为免费开源,可直接从官网下载。 (1)硬件适配 不用盲目追求高配,根据自己的使用场景满足基础要求即可: * a. 零基础新手尝鲜试玩:电脑满足 4 核 CPU、