LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

正则表达式到底有多强?大部分人都低估了

admin
2024年12月4日 22:51 本文热度 152

读书的时候看到同学借了一本书在看,大约有三四厘米那么厚,名字就叫正则表达式。

正则表达式(Regular Expressions, 简称 regex 或 regexp)是一种强大的文本处理工具,用于字符串的模式匹配。它们可以用来搜索、编辑或操作文本。

比如JavaScript 支持正则表达式,并且在很多地方都可以看到它的应用,比如表单验证、数据清洗等。

初级用法

基本匹配

最基本的用法是查找字符串中是否包含某个模式。例如,检查一个字符串中是否包含字母 "a":

const string = "apple";
const regex = /a/;
console.log(regex.test(string)); // 输出: true

字符类

字符类可以匹配一组字符中的任何一个。例如,匹配任何数字:

const string = "The price is 100 dollars.";
const regex = /\d/// \d 匹配任何数字
console.log(string.match(regex)); // 输出: ["1"]

中级用法

量词

量词定义了匹配模式出现的次数。例如,匹配至少两个连续的数字:

const string = "There are Ⅱ people here.";
const regex = /\d{2}/// {2} 表示前面的元素恰好出现两次
console.log(string.match(regex)); // 输出: null (因为没有两个连续的数字)

分组和捕获

分组允许将多个元素当作一个单元来处理,并且可以通过捕获引用这些组。例如,交换名字和姓氏:

const fullName = "John Doe";
const regex = /(\w+)\s+(\w+)/;
const swappedName = fullName.replace(regex, '$2, $1'); // $1 和 $2 是捕获组
console.log(swappedName); // 输出: "Doe, John"

高级用法

回调函数

在替换操作中,可以使用回调函数来进行更复杂的逻辑处理。例如,将所有的美元金额转换成欧元(假设汇率为1 USD = 0.9 EUR):

const text = "The price is $100 and the discount is $20.";
const regex = /\$\d+/g;
const convertedText = text.replace(regex, (match) => {
  const amount = parseInt(match.slice(1), 10);
  return `€${(amount * 0.9).toFixed(2)}`;
});
console.log(convertedText); // 输出: "The price is €90.00 and the discount is €18.00."

断言

断言(Lookahead 和 Lookbehind)允许匹配某些模式,但不消耗字符串中的字符。例如,仅匹配单词 "cat",但不匹配 "catch" 或 "category":

const string = "I have a cat, but not a category or catch.";
const regex = /\bcat\b(?![a-z])/// \b 是单词边界,(?![a-z]) 是负向前瞻断言
console.log(string.match(regex)); // 输出: ["cat"]

通过这些例子,我们可以看到正则表达式的强大之处在于其灵活性和广泛的应用场景。从简单的文本匹配到复杂的文本处理任务,正则表达式都能够胜任。不过,随着复杂性的增加,正则表达式的可读性和维护性可能会下降,因此在编写复杂的正则表达式时需要格外小心。


该文章在 2024/12/5 15:59:39 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved