`
linvar
  • 浏览: 258969 次
  • 性别: Icon_minigender_1
  • 来自: 未定
社区版块
存档分类
最新评论

javascript 正则表达式

阅读更多

1.javascript有个RegExp类用来完成正则表达式任务
构造RegExp类的对象有两种方式
(1).使用构造函数
var reg = new RegExp("pattern"[, "flags"]);
其中flags可取g(全局匹配),i(忽略大小写),gi
其中pattern必须是字符串(用双引号括起来)

(2).使用 var reg = /pattern/gi;
注意不要给 /pattern/gi加上双引号,那将变成字符串对象,而不是RegExp对象了
RegExp对象的主要方法exec(str), test(str)
exec(str)返回匹配的数组,
test(str)返回boolean表明是否匹配
注意!!!!!
如果var reg = /pattern/gi;中包含"g"这个flag,
那么在同一个页面中偶数次调用test(str)会返回false!!!!
也就是第一次正常,第二次不正常,第三次又正常...
真奇怪...

2.关键的问题是怎样构造那个pattern
javascript提供了很多元字符帮我们构造这个模式pattern
(1).转义字符
\t :tab符
\r :enter符
\n :换行符
\s 用于匹配单个空格字符,也包括tab键
\S 用于匹配\s之外的所有字符
\d 匹配0到9的数字
\w 匹配字母,数字或下划线字符
\W 匹配\w之外的所有字符
. 匹配除换行符之外的所有字符

(2).边界元字符
^ 字符串开头,比如 ^r表示匹配以r开头的字符串
$ 字符串结尾, 比如 r$表示匹配以r结尾的字符串

(3).修饰元字符
[]只要匹配里面其中一个字符
[a-zA-Z0-9_]:相当于\w
[0-9]:相当于\d
():当使用exec(str)方法时返回匹配里面的字符串作为結果数组的一个元素
(?:) :不作为結果数组的一个元素
(|): “或”,比如 (\s|\d)匹配空格或数字

(4).修饰前面字符的个数
* :0个或多个它前面的字符,比如 \d*匹配0个或多个数字字符
? :0个或一个
+ :一个或多个(至少一个)
{m,n} :m个至n个
{n} :n个

3.使用上面的元字符就可以构造出复杂的pattern匹配各种字符串
这里需要注意的一点是
如果使用构造函数得到RegExp对象的话
如果pattern必须是字符串,而且如果有转义字符串还必须使用多一个"\"修饰
比如
var reg = new RegExp("^\\d[a-z]+");
而使用字面方式则不用多一个"\"
var reg = /^\d[a-z]+/;
如果要匹配元字符,需要使用"\"转义
比如 var reg = /^a\w+\.\w+/; //转义元字符"."

4.可以使用\1或RegExp.$1来表示第一个匹配项,其他项以此类推
比如 /([MspTL])\1*/
表示匹配[]中的字符的0个或多个
跟 /[MspTL]*/不同

5.String对象使用正则表达式
string.split(/\s+/); //注意参数是RegExp对象,而不是字符串
string.replace(/\s+/g, 'red'); //注意同上
string.match(/^cat.*$/); //注意返回的结果是匹配的字符串或null
string.search(regex); //返回的是字符串的下标或-1(不存在)

分享到:
评论

相关推荐

    javascript正则表达式迷你书 (1).pdf

    JavaScript 正则表达式迷你书 本书是 JavaScript 正则表达式的入门级教程,旨在帮助读者快速掌握正则表达式的基本概念和应用。下面是本书的知识点摘要: 第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向...

    JavaScript正则表达式迷你书

    《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...

    javascript正则表达式学习笔记

    这篇学习笔记将深入探讨JavaScript正则表达式的概念、语法和实际应用。 一、正则表达式基础 1. 创建正则表达式: - 字面量表示法:`/pattern/flags` - 构造函数:`new RegExp('pattern', 'flags')` 2. 常见的...

    javascript正则表达式综合练习

    JavaScript正则表达式是编程语言中的一个重要组成部分,用于处理文本模式匹配和字符串操作。这篇博客“javascript正则表达式综合练习”可能是一个实践教程或示例集合,旨在帮助开发者提升在JavaScript中使用正则...

    JavaScript正则表达式迷你书(1.1版)_程序逻辑_

    **JavaScript正则表达式迷你书(1.1版)** 正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,...

    javascript正则表达式详解 (chm)

    javascript正则表达式详解 (chm)

    javaScript 正则表达式详解

    JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。正则表达式可以用来匹配、检索和操作字符串。 RegExp 对象 在 JavaScript 中,正则表达式可以被定义为一个 ...

    javascript正则表达式详解

    JavaScript正则表达式是JavaScript语言中一种极为重要的文本处理工具,它允许通过简洁的语法定义文本的匹配模式。这些模式可用来对字符串进行检索、替换、提取等操作。了解和掌握JavaScript正则表达式,对于提高...

    Javascript正则表达式测试网页.rar

    JavaScript正则表达式是网页开发中的重要工具,用于处理文本数据的验证、查找、替换等操作。在网页制作过程中,熟练掌握正则表达式能够极大地提高代码效率和灵活性。本压缩包“Javascript正则表达式测试网页.rar”...

    JavaScript正则表达式.ppt

    了解正则表达式概念 掌握正则表达式的语法 熟练掌握正则表达式在JavaScript中的应用

    常用Javascript正则表达式汇总

    以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配Unicode范围内的中文字符,包括所有汉字。例如,如果你想在一个字符串中查找所有中文字符,可以...

    javascript正则表达式表单验证大全

    ### JavaScript正则表达式在表单验证中的应用详解 在Web开发中,表单验证是确保数据质量和用户体验的重要环节。JavaScript正则表达式提供了一种强大的工具,用于前端数据校验,确保用户输入的数据格式正确无误。...

    经典JavaScript正则表达式实战

    下面详细解析了文档中提到的JavaScript正则表达式实战应用的各个方面。 首先,匹配结尾的数字是正则表达式的一个常用功能。在JavaScript中,可以使用正则表达式/\d+$/g来实现。这个表达式可以找到字符串中最后一个...

    JavaScript正则表达式工具

    JavaScript正则表达式工具是一种基于JavaScript开发的应用程序,旨在帮助开发者和编程爱好者更方便地理解和使用正则表达式。在编程领域,正则表达式(Regular Expression)是一种强大的文本处理工具,广泛应用于字符...

Global site tag (gtag.js) - Google Analytics