📜  网站正则表达式模式 (1)

📅  最后修改于: 2023-12-03 14:57:01.492000             🧑  作者: Mango

网站正则表达式模式

正则表达式是用来匹配字符串模式的工具,它在编写网站代码时非常有用。在开发网站时,需要验证用户输入的表单数据、提取链接、识别电子邮件地址等等。 在这些情况下,正则表达式可以帮助我们轻松地完成这些任务。

常用的正则表达式模式

以下是一些常用的正则表达式模式:

匹配数值
  • 匹配整数:^\d+$
  • 匹配浮点数:^-?\d+\.\d+$
匹配日期
  • 匹配日期(yyyy-mm-dd):^\d{4}-\d{2}-\d{2}$
  • 匹配日期(mm/dd/yyyy):^\d{2}/\d{2}/\d{4}$
匹配邮箱
  • 匹配常规邮箱:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
  • 匹配QQ邮箱:^[1-9][0-9]{4,10}@qq\.com$
  • 匹配网易163邮箱:^\w+@\w+\.163\.com$
匹配链接
  • 匹配http/https链接:^https?://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
  • 匹配ftp链接:^ftp://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$
  • 匹配邮件链接:^mailto:[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

详见附录1。

在JavaScript中使用正则表达式

JavaScript内置了RegExp对象,用于定义和匹配正则表达式。

定义一个正则表达式
let pattern = /正则表达式/;

或者

let pattern = new RegExp('正则表达式');
匹配字符串
let str = '待匹配的字符串';
let pattern = /正则表达式/;
let result = pattern.test(str); // true / false

或者

let str = '待匹配的字符串';
let pattern = new RegExp('正则表达式');
let result = pattern.test(str); // true / false
捕获匹配组
let str = '待匹配的字符串';
let pattern = /(\w+)\s(\w+)/;
let result = str.match(pattern);
console.log(result); // ["匹配到的字符串", "捕获匹配的第一个组", "捕获匹配的第二个组"]

或者

let str = '待匹配的字符串';
let pattern = new RegExp('(\w+)\s(\w+)');
let result = str.match(pattern);
console.log(result); // ["匹配到的字符串", "捕获匹配的第一个组", "捕获匹配的第二个组"]

详见附录2。

结论

正则表达式模式非常有用,用于匹配网站中的各种数据。JavaScript内置支持正则表达式,可以用来定义和匹配正则表达式。学习正则表达式模式是网站编程基础中的一个重要方面,值得投入更多的时间和精力。

附录
附录1. 常用的正则表达式模式

详见https://www.rexegg.com/regex-patterns.html

附录2. 捕获匹配组的示例代码
function matchFirstAndLastName(str) {
  let pattern = /(\w+)\s(\w+)/;
  let result = str.match(pattern);
  return { firstName: result[1], lastName: result[2] };
}

let fullName = '张三 李四';
let person = matchFirstAndLastName(fullName);
console.log(person); // { firstName: '张三', lastName: '李四' }