`

javascript学习笔记:正则表达式1

阅读更多
实际工作中最常用的都是一些简单的正则表达式,form验证里的邮件、中文、网址、电话等的匹配,开发中的注释匹配,这些都还好,偶尔错了多试几次就可以搞定了。

但是以下部分很少用到,今天看《javascript权威指南(第五版)》才详细了解了,算是正则表达式的进阶知识了。

正则表达式的锚字符(锚其实就是定位的意思,这个我在刚学html的时候一直没弄明白
  • ^ 匹配字符串的开头,在多行模式中匹配一行的开头
  • $ 匹配字符串的结尾,在多行模式中匹配一行的结尾
  • \b 匹配一个词语的边界,词语边界即是\w和\W之间的位置,或\w和字符串的开头和结尾的位置
  • \B 匹配非词语边界的位置。这个跟上面相反,即是\W和\W之间,\w和\w之间的位置这两种情形
  • (?=p) 正前向声明,要求接下来的字符都与模式p匹配,但是不包括匹配中的那些字符
  • (?!p) 反前向声明,要求接下来的字符与模式p匹配,


/\bhello/.test("ahello world");//false
/\bhello/.test("hello world");//true
/hello\b/.test(" hello world");//true
/hello\b/.test("hello@ world");//true @是非单词字符,所以o和@之间即是边界,也就是\b
/hello\b/.test("hello_ world");//false,该正则表达式要求hello之后有一个非单词字符(0-9,a-z,A~Z和_),但"hello_ world"中_是单词字符,所以返回false
/hello\B/.test(" hello_world");//true \B的含义与\b相反,参考上面解释,o和_之间为非词语边界
/hello\B/.test(" helloworld");//true,参考上面解释,o和w之间为非词语边界,\w和\w之间的位置
/hello\B/.test(" helloworld");//true,参考上面解释,\W和\W之间
/@\B/.test("@#");//true \W \W



正则表达式的标志(这个其实是高级匹配了)
  • i 执行不区分大小写的匹配
  • g 执行一个全局匹配,即找到所有匹配的字符串
  • m 多行模式,^匹配一行的开头和字符串的开头,$匹配一行的结尾和字符串的结尾


"javaScript is a script language".replace(/script/ig,"")//"java is a  language"
"javaScript is a script language".replace(/script/g,"")//javaScript is a  language"
"javaScript is a script language".replace(/script/i,"")//java is a script language"


----未完待续
分享到:
评论

相关推荐

    javascript正则表达式学习笔记

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

    JavaScript学习笔记包括正则表达式、异常处理、调试、关键字等

    ### JavaScript 学习笔记知识点详解 #### 一、JavaScript 正则表达式 **1.1 定义与用途** 正则表达式是一种强大的文本处理工具,在JavaScript中主要用于字符串的操作,如查找、替换等。 **1.2 基本语法** 正则...

    正则表达式学习笔记

    ### 正则表达式学习笔记 #### 一、正则表达式概述 正则表达式是一种强有力的模式匹配工具,广泛应用于各种编程语言中,用于文本处理。正则表达式允许用户定义复杂的查找模式,这对于数据验证、搜索和替换操作特别...

    正则表达式基础学习笔记

    不同的编程语言和环境可能使用不同的正则表达式引擎,如Perl兼容正则表达式(PCRE)、JavaScript的正则表达式等,它们在语法细节和功能上可能存在差异。 七、实例应用 1. 邮箱验证:`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-...

    超经典正则表达式测试工具

    4. **学习正则的学习笔记**:可能包含一份详细的正则表达式学习资料,涵盖了基础概念如元字符、量词、字符类等,以及高级特性如分组、后向引用、预查等,方便用户系统学习。 5. **正则表达式参考手册**:可能提供了...

    JS正则表达式入门笔记实例

    这篇入门笔记实例将带你深入了解正则表达式的使用。 1. **正则表达式基础** - **模式定义**:正则表达式由特殊字符(元字符)和普通字符组成,用于描述文本模式。 - **创建方式**:可以使用`/pattern/flags`或`...

    关于js正则表达式学习笔记(自己整理的)

    JavaScript中的正则表达式是处理字符串的强大工具,用于匹配、替换、分割文本。它们在编程中扮演着不可或缺的角色,尤其在验证用户输入、提取数据、格式化内容等方面。以下是对正则表达式的基础知识和常见用法的详细...

    精通正则表达式(英文版+中文目录)

    在实践中,书中会讨论如何在各种编程语言中使用正则表达式,如JavaScript、Python、Java等,并给出具体的示例代码,帮助读者理解如何在实际开发中应用正则表达式。此外,书中还会讲解正则表达式引擎的工作原理,这...

    (正则表达式)学习笔记

    在这个“正则表达式”学习笔记中,我们将深入探讨这一强大的工具。 1. **基础概念** - **字符集**:包括普通字符(如 `a`、`b`)和特殊字符(如 `.`、`\d`),它们组合起来形成匹配模式。 - **量词**:如 `*` ...

    JavaScript正则表达式学习资料笔记

    ### JavaScript正则表达式详解 #### 一、正则表达式的创建 正则表达式是JavaScript中用于处理字符串的强大工具之一。它可以帮助我们查找、替换或提取文本中的特定模式。在JavaScript中创建正则表达式有两种基本...

    正则表达式学习笔记小结分享

    例如,`/hello regex/` 是一个简单的正则表达式,而 `new RegExp('模式', '修饰符')` 则是在 JavaScript 中创建正则表达式的方式。修饰符如 `i`(忽略大小写)、`g`(全局匹配)和 `m`(多行匹配)可以改变正则...

    JavaScript 学习笔记(十四) 正则表达式

    正则表达式的学习对于掌握JavaScript乃至其他编程语言至关重要。通过上述的知识点可以了解到,正则表达式在文本处理方面的灵活性和强大能力,熟练运用这些知识点,可以帮助开发者在处理字符串时更加得心应手。在实际...

    正则表达式30.zip

    这份教程可能涵盖了30个关键概念或技巧,帮助学习者深入理解和掌握正则表达式。 1. **基础符号**:正则表达式的核心是基础符号,如`.`代表任意字符,`*`表示前面的字符可以出现零次或多次,`+`表示至少一次,`?`...

    正则表达式工具(检测_保存) RegExr.rar

    1. **实时反馈**:在使用RegExr时,用户可以输入正则表达式,工具会即时高亮显示输入字符串中与正则模式匹配的部分,提供直观的反馈,有助于调试和理解正则表达式的匹配规则。 2. **多种模式**:RegExr支持多种正则...

    javascript学习笔记(八)正则表达式

    正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。 首先推荐几个正则表达式编辑器  Debuggex :...

    HTML笔记. J2EE笔记. Javascript笔记. JAVA笔记.oracle 笔记.Linux笔记.tomcat笔记.面试问题.数据结构.听韩顺平的笔记.正则表达式.

    HTML笔记. J2EE笔记. Javascript笔记. JAVA笔记.oracle 笔记.Linux笔记.tomcat笔记.面试问题.数据结构.听韩顺平的笔记.正则表达式.等,我是我在上大学时学习做的笔记,拿出来和大家共享。。

    正则表达式例子及笔记

    整理正则表达式的学习笔记有助于加深理解,提高记忆效果。可以将各种常见模式、特殊字符、语法结构和实例应用进行归纳,方便日后查阅和实践。通过分析和总结,可以逐步掌握正则表达式的精髓,提升在实际工作中解决...

Global site tag (gtag.js) - Google Analytics