`
王之子
  • 浏览: 109407 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

JavaScript正则表达式和模式匹配

阅读更多
元字符

+ :元字符规定其前导字符必须在目标对象中连续出现一次或多次。
* :元字符规定其前导字符必须在目标对象中出现零次或连续多次。
? :元字符规定其前导对象必须在目标对象中连续出现零次或一次。
\s :用于匹配单个空格符,包括tab 键和换行符。
\S :用于匹配除单个空格符之外的所有字符。
\d :用于匹配从0 到9 的数字。
\w :用于匹配字母,数字或下划线字符。
\W :用于匹配所有与\w 不匹配的字符。

(说明:我们可以把\s 和\S 以及\w 和\W 看作互为逆运算。同样,我们也可以把“^”和“$”以及“\b”和“\B”看作是互为逆运算的两组定位符

定位符

^ :定位符规定匹配模式必须出现在目标字符串的开头。
$ :定位符规定匹配模式必须出现在目标对象的结尾。
\b :定位符规定匹配模式必须出现在目标字符串的开头或结尾的两个边界之一。
\B :定位符则规定匹配对象必须位于目标字符串的开头和结尾两个边界之内,即匹配对象既不能作为目标字符串的开头,也不能作为目标字符串的结尾。

/fo+/
因为上述正则表达式中包含“+”元字符,表示可以与目标对象中的 “fool”, “fo”, 或者
“football”等在字母f 后面连续出现一个或多个字母o 的字符串相匹配。

/eg*/
因为上述正则表达式中包含“*”元字符,表示可以与目标对象中的 “easy”, “ego”, 或者 “egg”等在字母e 后面连续出现零个或多个字母g 的字符串相匹配。

/Wil?/
因为上述正则表达式中包含“?”元字符,表示可以与目标对象中的 “Win”, 或者 “Wilson”,等在字母i 后面连续出现零个或一个字母l 的字符串相匹配。

/^hell/
因为上述正则表达式中包含“^”定位符,所以可以与目标对象中以 “hell”, “hello”或
“hellhound”开头的字符串相匹配。

/ar$/
因为上述正则表达式中包含“$”定位符,所以可以与目标对象中以 “car”, “bar”或 “ar” 结尾的字符串相匹配。

/\bbom/
因为上述正则表达式模式以“\b”定位符开头,所以可以与目标对象中以 “bomb”, 或 “bom”开头的字符串相匹配。

/man\b/
因为上述正则表达式模式以“\b”定位符结尾,所以可以与目标对象中以 “human”, “woman”或“man”结尾的字符串相匹配。

字符类(“^”、“-”、“\”

/[^A-C]/
上述字符串将会与目标对象中除A,B,和C 之外的任何字符相匹配。一般来说,当“^”出现在 “[]”内时就被视做否定运算符;而当“^”位于“[]”之外,或没有“[]”时,则应当被视做定位符。

 

[A-Za-z0-9!#&*+=?_-] 匹配模式 “[]” 里面的特殊字符(*+?)并不是元字符


/Th\*/
上述正则表达式将会与目标对象中的“Th*”而非“The”等相匹配。反斜杠“\”表示转义字符序列,比如“\*”表示字符*,“\n”表示换行。

下列式子表示可以匹配3 个数字或者4 个小写字母:
var filter =/\d{3}|[a-z]{4}/;

还有一个'|',表示"或"操作:

"hi|hello":表示一个字符串里有"hi"或者"hello";
"(b|cd)ef":表示"bef"或"cdef";
"(a|b)*c":表示一串"a""b"混合的字符串后面跟一个"c";

'.'可以替代任何字符:

"a.[0-9]":表示一个字符串有一个"a"后面跟着一个任意字符和一个数字;
"^.{3}$":表示有任意三个字符的字符串(长度为3个字符);

匹配模式

/jim{2,6}/
上述正则表达式规定字符m 可以在匹配对象中连续出现2-6 次,因此,上述正则表达式可以同jimmy 或jimmmmmy 等字符串相匹配。

 

 

 

 

运算顺序优先级

 

依然遵循从左到→右的运算规则

 

 

( )  圆括号因为是内存处理所以最高

* ? +  { } 重复匹配内容其次

^ $ \b 边界处理第三

|  条件处理第四

最后按照运算顺序计算匹配

 

 

补充:JavaScript RegExp 对象参考手册

 

个人主页: https://plus.google.com/+sherlockwang/posts

 

原文链接:http://woqilin.blogspot.com/2012/09/javascript.html

分享到:
评论

相关推荐

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

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

    使用正则表达式的模式匹配

    ### 使用正则表达式的模式匹配 #### 正则表达式简介 正则表达式是一种用于描述文本模式的强大工具。在JavaScript中,正则表达式的功能主要通过`RegExp`类实现。这种工具允许开发者进行复杂的模式匹配操作,比如...

    JavaScript正则表达式匹配 div style标签

    下面是一个简单的JavaScript示例代码,展示如何使用正则表达式匹配`<div>`和`<style>`标签: ```javascript // 示例字符串,包含div和style标签 var htmlString = '<div>这是一个div标签的内容。这是style标签中的...

    正则表达式大全 正则表达式 模式匹配 Javascript

    正则表达式(Regular Expression)是一种模式匹配工具,在文本处理领域有着广泛的应用,尤其是在JavaScript等编程语言中,用于字符串搜索、替换以及提取等功能。本文将详细介绍一系列常用的正则表达式及其应用场景,...

    javascript正则表达式综合练习

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

    javascript正则表达式学习笔记

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

    javaScript 正则表达式详解

    JavaScript 正则表达式详解 JavaScript 中的正则表达式是指使用特殊字符来描述字符串模式的表达式。...JavaScript 中的正则表达式提供了强大的字符串匹配和操作能力,广泛应用于字符串处理和数据验证等领域。

    面试笔试常考之正则表达式和模式匹配

    正则表达式(Regular Expression,简称regex)是编程领域中一种强大的文本处理工具,用于匹配字符串模式。在面试和笔试中,尤其是对于IT行业的技术职位,掌握正则表达式是必不可少的技能,尤其是在中兴、华为等知名...

    JavaScript正则表达式匹配 div style标签_.docx

    在CSS样式匹配中,JavaScript正则表达式可以用于匹配CSS选择器、属性和值。例如,我们可以使用以下正则表达式来匹配CSS选择器: /\.(.*)\s*\{/ 这个正则表达式使用以下元素来匹配CSS选择器: * `\.`:匹配一个...

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

    正则表达式是JavaScript中一个强大的工具,用于处理文本字符串,进行模式匹配和查找、替换等操作。它们在编程逻辑中扮演着至关重要的角色,尤其是在处理字符串数据时,能够帮助程序员以高效且灵活的方式解决问题。在...

    Java使用正则表达式提取XML节点内容的方法示例

    1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...

    javascript正则表达式详解

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

    常用Javascript正则表达式汇总

    JavaScript中的正则表达式是一种强大的文本处理工具,用于在字符串中进行模式匹配和搜索替换。以下是一些常见的JavaScript正则表达式及其应用: 1. **匹配中文字符**:`[\u4e00-\u9fa5]` 这个正则表达式用于匹配...

    javaScript正则表达式讲解用ppt

    - `test`:测试字符串是否符合正则表达式模式,返回布尔值。 - `search`:返回第一个匹配项的开始位置,找不到返回-1。 - `split`:根据正则表达式分割字符串,返回一个数组。 - `match`:在字符串中查找匹配项...

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

    本压缩包“Javascript正则表达式测试网页.rar”提供了一个手册,帮助学习者深入理解和实践JavaScript中的正则表达式。 正则表达式(Regular Expression)是一种模式匹配语言,它使用特殊的字符序列来描述字符串的...

Global site tag (gtag.js) - Google Analytics