【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开发】—— Agent Skills详解及Copilot 进阶玩法

【AI开发】—— Agent Skills详解及Copilot 进阶玩法

Copilot 进阶玩法:Agent Skills 让 AI 助手适配你的专属开发流 用过 GitHub Copilot 的开发者应该都有这样的体验:想让它适配项目专属的测试流程、调试规范,总要反复输入 prompt;团队统一的开发准则,要挨个给 Copilot 喂指令;换个工具(比如从 VS Code 切到 Copilot CLI),之前的定制化配置全失效…… 而Agent Skills就是 Copilot 为解决这些痛点推出的核心功能 —— 它把 Copilot 从 “通用代码补全工具” 升级成了可自定义、可复用、跨工具的智能代理,让我们能为 AI 打造专属的 “技能工具箱”,一次配置,多端复用。这篇文章就从基础概念到实操步骤,把 Agent Skills 的用法讲透,让你的

安卓端 AI 绘画新突破:local-dream 项目让 Stable Diffusion 在手机端高效运行,骁龙 NPU 加速加持

安卓端AI绘画新突破:local-dream项目让Stable Diffusion在手机端高效运行,骁龙NPU加速加持 在AI绘画技术飞速发展的当下,Stable Diffusion作为主流模型,凭借出色的图像生成能力备受青睐。然而,其对硬件性能的较高要求,使得多数用户只能在电脑端体验。不过,随着“local-dream”项目的出现,这一局面被彻底打破。该项目专注于让安卓设备流畅运行Stable Diffusion模型,不仅支持高通骁龙NPU加速,还兼容CPU/GPU推理,为移动设备AI绘画开辟了全新路径。 项目核心目标与基础信息 “local-dream”项目的核心目标清晰明确,就是打破硬件限制,让安卓用户无需依赖高性能电脑,在手机或平板上就能轻松体验Stable Diffusion模型的强大图像生成功能。无论是日常创作、创意设计,还是简单的图像生成需求,用户都能随时随地通过安卓设备完成。 对于想要了解和使用该项目的用户,关键信息必不可少。项目的GitHub地址为https://github.com/xororz/local-dream,用户可以在这里获取项目的源代码、详细

无人机视觉语言导航从入门到精通(一):什么是无人机视觉语言导航

无人机视觉语言导航从入门到精通(一):什么是无人机视觉语言导航 摘要 视觉语言导航(Vision-Language Navigation, VLN)是人工智能领域的前沿研究方向,它使智能体能够根据自然语言指令,在视觉环境中自主导航至目标位置。当这一技术应用于无人机平台时,便形成了无人机视觉语言导航(UAV Vision-Language Navigation)这一新兴研究领域。本文作为系列博客的开篇,将系统介绍视觉语言导航的基本概念、问题形式化定义、核心挑战、应用场景,并对整个系列的内容进行导读。 关键词:视觉语言导航、无人机、多模态学习、具身智能、自然语言处理 一、引言 1.1 从一个场景说起 设想这样一个场景:你站在一个陌生城市的街头,手中拿着一架小型无人机。你对无人机说:"飞到前方那栋红色建筑的左侧,然后沿着河边向北飞行,在第二座桥附近降落。"无人机收到指令后,自主起飞,识别周围环境中的建筑、河流、桥梁等地标,规划路径,最终准确到达你所描述的位置。

无人机助力道路智能养护,基于最新端到端范式YOLO26全系列【n/s/m/l】参数模型开发构建无人机航拍道路交通场景下水泥路面缺陷智能检测识别系统

无人机助力道路智能养护,基于最新端到端范式YOLO26全系列【n/s/m/l】参数模型开发构建无人机航拍道路交通场景下水泥路面缺陷智能检测识别系统

道路养护是保障交通命脉安全的隐形防线,其重要性不亚于道路建设本身。我国每年因道路病害引发的交通事故占比高达12%,及时修复1平方米的早期裂缝可避免后续数万元的修复成本。在这场与道路病害赛跑的战役中,传统养护模式正遭遇前所未有的挑战,而人工智能与无人机技术的融合应用,正在重构道路养护的底层逻辑。 一、传统巡检困境:人力与效率的掣肘 传统道路巡检高度依赖"老师傅"的经验判断,养护工需驾驶巡检车以低于60km/h的速度逐段排查,日均有效巡检里程不足80公里。这种模式存在三重先天缺陷:其一,人工目检存在30%以上的漏检率,尤其在下雨、夜间等恶劣环境下效率骤降;其二,从发现病害到修复的平均响应周期长达72小时,期间病害可能持续扩展;其三,养护工需长时间暴露在车流中作业,存在重大安全隐患。 某市政公司测算显示,要维持100公里高速公路的常规养护,需配置3台巡检车、6名专业人员,年直接成本超过400万元。这种重资产运营模式在应对突发灾害时更显捉襟见肘,暴雨过后常出现数十处积水点,传统巡检团队需3-5天才能完成全域排查。 二、技术赋能:无人机巡检的颠覆性突破 搭载多光谱成像仪与边缘计算模