正则表达式是事先声明一组规则,用于匹配字符串中的字符。在字符串查找、替换等应用中非常实用,在javascript中对正则表达式有很好的支持,提供了RegExp对象来支持正则表达式。
基本语法
元字符
在正则表达式的模式中,有一些字符是有特殊含义的,被称为元字符。元字符都是针对单个字符匹配的。
\w 匹配大小写英文字符及数字 0 到 9 之间的任意一个及下划线,相当于 [a-zA-Z0-9_]
\W 不匹配大小写英文字符及数字 0 到 9 之间的任意一个,相当于 [^a-zA-Z0-9_]
\s 匹配任何空白字符,相当于 [ \f\n\r\t\v]
\S 匹配任何非空白字符,相当于 [^\s]
\d 匹配任何 0 到 9 之间的单个数字,相当于 [0-9]
\D 不匹配任何 0 到 9 之间的单个数字,相当于 [^0-9]
[\u4e00-\u9fa5] 匹配任意单个汉字(这里用的是 Unicode 编码表示汉字的 )
如:将自定字符串中的数字替换成‘-’符号
// 将msg变量定义字符串中的数字替换成‘-’字符串
var msg = "j1a2v3a4s5c6r7i8p9t";
msg = msg.replace(/\d+/g, "-");
alert(msg);
界定符
比较通用的正则表达式界定符是双斜杠 /regex/。如:下面将替换掉msg字符串两端的空白。
var msg = " javascript ";
msg = msg.replace(/(^\s+)|(\s+$)/g, "");
alert("|" + msg + "|");
原子的概念
正则表达式中的原子分为可见原子和不可见原子。
[\f\n\r\t\v] 属于不可见原子,其他表示可见原子
量词
\* 匹配 0 到多个元字符,相当于 {0,}
? 匹配 0 到 1 个元字符,相当于 {0,1}
{n} 匹配 n 个元字符
{n,} 匹配至少 n 个元字符
{n,m} 匹配 n 到 m 个元字符
\+ 匹配至少 1 个元字符,相当于 {1,}
如:将字符串中2个以上的a替换成个‘-’字符
var msg = "javascaaariaapt";
msg = msg.replace(/a{2,}/g, "-");
alert(msg);
边界
\b 匹配单词边界
^ 字符串必须以指定的字符开始
$ 字符串必须以指定的字符结束
如:去掉字符串开始的a和结束的b
var msg = "aaajavascaaariaaptbbb";
msg = msg.replace(/(^a+)|(b+$)/g, "");
alert(msg);
捕获分组
正则表达式中,使用 () 将若干单位(可以是字符,正则表达式)组织在一起,成为一个独立单元。
正则表达式中,分组分为捕获分组和非捕获分组。
如:替换掉指定字符串首尾的空白字符。
var msg = " javascript ";
alert( msg.replace(/(^\s+)|(\s+$)/g, "") );
相关推荐
1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...
下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`<div>`和`<style>`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '<div>这是一个div标签的内容。这是style标签中的...
本文主要介绍了javascript正则表达式模糊匹配IP地址的功能示例,结合简洁实例形式演示了JS模糊匹配IP地址的实现方法,涉及针对数字及字符串的相关正则判定与匹配操作技巧。 一、javascript正则表达式模糊匹配IP地址...
### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...
正则表达式是一种强大的文本处理工具,用于在Java和JavaScript中进行字符串匹配、搜索、替换等操作。在编程中,正则表达式是处理文本数据不可或缺的一部分,它们使用特殊的字符序列来定义一个模式,该模式可以用来...
本文主要介绍了JavaScript正则表达式匹配div style标签的相关知识点。通过对给定的测试字符串进行分析,我们可以了解到 JavaScript 正则表达式在匹配 div style 标签时的应用。 1. 正则表达式的定义 正则表达式...
正则表达式是一种强大的文本匹配工具,它能够用来检查、分割、替换字符串,并在很多编程语言和工具中得以应用。正则表达式通常使用简短的字符串来定义复杂的搜索模式,这些模式可以包含普通字符、特殊字符和元字符。...
在编程世界中,三目运算符和正则表达式是两个非常重要的概念,它们各自扮演着独特的角色,同时也常被结合起来使用,以提高代码的简洁性和效率。让我们深入探讨这两个主题。 首先,三目运算符,也称为条件运算符,是...
如果只考虑数字表示,正则表达式可以相对简单。但如果要包含英文月份,那么表达式会更复杂。 对于数字表示的月份,正则表达式可以这样编写: ```regex ^(0?[1-9]|1[0-2])$ ``` 这个正则表达式的含义如下: - `^` ...
接着,我们学习如何构建简单的正则表达式。例如,`\d{3}-\d{4}`用于匹配美国电话号码格式(xxx-xxxx)。`\d`是数字的通配符,`{3}`和`{4}`分别表示连续的3个和4个数字。 在JavaScript中,我们使用`/pattern/flags`...
在提供的示例代码中,我们看到一个简单的登录页面,其中包含了一个名为 `AA` 的 JavaScript 函数,该函数用于验证用户输入的用户名是否符合上述正则表达式的规则。 ```javascript function AA() { var name = ...
书中的例子涵盖了多种编程语言,如Perl、Java、JavaScript、.NET等,这些语言的正则表达式引擎虽然大同小异,但在细节上有所区别,学习者将了解到如何在不同环境下应用正则表达式。 对于初学者,书中会引导他们理解...
JavaScript正则表达式是用于匹配字符串模式的强大工具。在验证邮箱和手机号码时,我们需要创建符合特定规则的正则表达式。对于邮箱验证,通常的正则表达式如下: ```javascript var emailRegex = /^[a-zA-Z0-9._%...
Regulex是一款专门针对JavaScript正则表达式的解析和可视化工具。它的主要功能包括: 1. **正则解析**:Regulex能够将复杂的正则表达式分解成其组成部分,帮助开发者理解每个部分的含义和功能。这包括字符类、量词...
10. **编程语言支持**:大多数编程语言都内置了正则表达式支持,如Java(Test.java中的例子可能涉及Java的`Pattern`和`Matcher`类),Python的`re`模块,JavaScript的`match`、`replace`等方法。 11. **优化技巧**...
本教程合集涵盖了多种编程语言中的正则表达式规则和应用,包括JavaScript、VB、.NET、Perl等。 在JavaScript中,正则表达式广泛应用于字符串操作,如`match()`、`search()`、`replace()`和`split()`方法。...
### 正则表达式学习手册知识点总结 #### 1. 引言 正则表达式是一种强大的文本处理工具,能够帮助用户实现字符串的查找、替换等功能。正则表达式的应用场景非常广泛,尤其在编程领域中不可或缺。对于初学者来说,...
多种编程语言,包括Perl、PHP、Python、JavaScript以及Java等均内置了对正则表达式的支持。本文将详细介绍Java中正则表达式的使用方法,并通过Jakarta-ORO库来演示具体的实现过程。 #### 二、正则表达式基础知识 #...