下面是详细的攻略:
JavaScript高级程序设计(第3版)学习笔记12 js正则表达式
简介
本篇学习笔记介绍JavaScript正则表达式的基础知识,包括正则表达式的定义、创建、元字符、模式修饰符、贪婪与非贪婪匹配、匹配位置等知识点。
正则表达式的定义
正则表达式是一种用来匹配字符串模式的方法,它由一个或多个字符和特殊字符组成,表示一种模式,用于与字符串进行匹配。在JavaScript中,正则表达式是一个对象,由RegExp构造函数实例化而来。
创建正则表达式的两种方式
在JS中可以使用两种方式来创建正则表达式:
- 使用字面量方式创建:
var pattern = /正则表达式/模式修饰符
- 使用RegExp构造函数创建:
var pattern = new RegExp('正则表达式', '模式修饰符')
其中模式修饰符有以下几种:
- g:全局匹配
- i:不区分大小写
- m:多行匹配
- s:允许点(.)匹配换行符
- u:Unicode匹配
- y:执行“粘性”搜索,匹配从目标字符串的当前位置开始的字符串
元字符
正则表达式中有许多特殊字符,它们被称为“元字符”,用来构建模式。以下是一些常用的元字符:
- ^:匹配输入的开始位置
- $:匹配输入的结束位置
- .:匹配除换行符(\n、\r)之外的任意单个字符
- []:定义一个字符集合
- [^]:定义除了这个字符集合之外的任意单个字符
- ?:匹配前面的字符零次或一次(非贪婪)
- *:匹配前面的字符零次或多次(贪婪)
- +:匹配前面的字符一次或多次(贪婪)
- {n}:匹配前面的字符n次
- {n,m}:匹配前面的字符n到m次
正则表达式示例
下面是两个正则表达式示例,用来检查输入的字符串是否为有效邮箱和URL地址:
// 邮箱正则表达式
var emailPattern = /^[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$/i;
// URL地址正则表达式
var urlPattern = /^(https?|ftp):\/\/[^\s/$.?#][^\s]*$/i;
// 检测邮箱地址
if (emailPattern.test('example@example.com')) {
console.log('合法的邮箱地址');
}
// 检测URL地址
if (urlPattern.test('http://www.example.com')) {
console.log('合法的URL地址');
}
以上代码中,emailPattern
和urlPattern
分别是邮箱地址和URL地址的正则表达式,test()
方法用来检测输入的字符串是否匹配这个正则表达式,如果匹配,则返回true
,否则返回false
。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JavaScript高级程序设计(第3版)学习笔记12 js正则表达式 - Python技术站