`
singo107
  • 浏览: 30417 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

JS正则表达式学习笔记

阅读更多

正则表达式:

显示构造函数,语法为:new RegExp("pattern"[,"flags"])
隐示构造函数,采用纯粹的文本格式:/pattern/[flags]

===================
全局flags:

g用作全局标志
i用作忽略大小写标志
m用作多行标志,即多行匹配

===================
RegExp对象的属性:

index
input (简写:$_)
lastIndex
lastMatch (简写:$&)
lastParen (简写:$+)
leftContext (简写:$`)
rightContext (简写:$')
$1...$9

====================
RegExp对象的实例属性:

global
ignoreCase
multiline
source

=====================
RegExp对象的方法:

text(str)
exec(str)
compile("pattern"[,"flags"])

======================
string对象中与正则表达式有关的方法:

match(rgExp)
search(rgExp)
replace(rgExp,replaceText)
split([separator[,limit]])


============================

元字符从功能上分为:限定符、选择匹配符、分组组合和反向引用符、特殊字符、字符匹配符、定位符

=========================

限定符:用于指定其前面的字符或组合项连续出现多少次

{n} 规定前面的元素或组合项连续出现多次
{n,} 规定前面的元素或组合项(至少)连续出现n次
{n,m} 规定前面的元素或组合项至少连续出现n次,至多连续出现m次
+ 规定前面的元素或组合项必须出现一次或连续多次
* 规定前面的元素或组合项可以出现零次或连续多次
? 规定前面的元素或组合项出现零次或一次

=========================

选择匹配符:只有一个"|"字符,用于选择匹配2个选择之中的任意一个

=========================

分组组合和反向引用符:

分组组合就是将正则表达式中的某一部分内容组合起来的符号
(pattern)括号内为一个组合匹配项
(?:pattern)
(?=pattern)
(?!pattern)


反向引用符则是用于匹配前面的分组组合所捕获到的内容的标识符号
\num 匹配编号为num的缓冲区所保存的内容,可以匹配1到99个子匹配捕获的内容


========================
特殊字符:

\转义字符
\xn 匹配ASCII码值等于n的字符,此处的n必须是两位的十六进制数如:\x41匹配字符"A"
\n 反向引用,此处的n是一位入进制数(0-7)
\nm 此处的m和n都是一位入进制数(0-7),反向引用
\nml 匹配ASCII码值等于nml的字符
\un 匹配unicode编码等于n的字符,此处的n必须是一个四位的十六进制数例如:\u00a9匹配版权符号
\cx 匹配x指定的控制字符

\f匹配换页符,等效于\x0c和\cL
\n匹配换行符,等效于\x0a和\cJ
\r匹配回车符,等效于\x0d和\cM
\t匹配制表符,等效于\x09和\cI
\v匹配垂直制表符,等效于\x0b和\cK

======================================

字符匹配符:用于指定该符号部分可以匹配多个字符中的任意一个

[...]匹配方括号中包含的字符集中的任意一个字符
[^...] 匹配方括号中未包含的任何字符
[a-z] 匹配指定范围内的任何字符
[^a-z] 匹配不在指定范围内的任何字符
\d 匹配任意一个数字字符,等效于[0-9]
\D 匹配任意一个非数字字符,等效于[^0-9]
\s 匹配任何空白字符,包括空格、制表符、换页符等,等效于[\f\n\r\t\v]
\S 匹配任何非空白字符,为\s的逆运算,等效于[^\f\n\r\t\v]
\w 匹配任何英文字母和数字类字符以及下划线,等效于[A-Za-z0-9_]
\W 匹配任何非英文字母和数字类字符,但不包括下划线,为\w的逆运算,等效于[^A-Za-z0-9_]
. 匹配除"\n"之外的任何单个字符

================================

定位符:用于规定匹配模式在目标字符串中的出现位置

^ 匹配目标字符串的开始位置
$ 匹配目标字符串的结尾
\b 匹配一个字边界
\B 匹配非字边界

====================================

原义字符:在正则表达式中用到的一些元字符不再表示它原来的字面意义,如果要匹配这些具有特殊意义的元字符的字面意义,必须使用反斜杠(\)将它们转义为原义字符,如"/"用"\/"表示。

分享到:
评论

相关推荐

    javascript正则表达式学习笔记

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

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

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

    正则表达式学习笔记

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

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

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

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

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

    正则表达式基础学习笔记

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

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

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

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

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

    (正则表达式)学习笔记

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

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

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

    正则表达式的笔记记录呢

    正则表达式是一个深奥且强大的工具,学习和理解其原理和技巧对于处理文本数据至关重要。熟练掌握正则表达式可以大大提高编程效率和代码质量。通过不断练习和使用,你可以更好地理解和运用这些概念来解决各种文本处理...

    js正则表达式学习笔记

    通过以上六个方面,我们可以看到JavaScript正则表达式的强大之处。正则表达式的应用非常广泛,无论是在数据验证、文本处理还是复杂的字符串分析中,它都能提供高效的解决方案。掌握它对于任何希望提升前端或后端开发...

    正则表达式例子及笔记

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

    php正则表达式学习笔记

    php正则表达式学习笔记分享: 1.创建正则表达式 $regex = ‘/\d/i’; 与JavaScript中的第一个方式有点像,只是这里的话是个字符串。  2.正则表达式中的特殊字符 特殊字符有: . \ + * ? [ ^ ] $ ( ) { } = ! < ...

    正则表达式笔记+源码!!!!!!

    学习和理解正则表达式,将有助于你在各种编程任务中更加游刃有余。为了深入理解和掌握,建议通过实际编写代码来实践各种正则表达式,同时结合各种在线测试工具进行检验和调试,这样可以更好地巩固所学知识。

Global site tag (gtag.js) - Google Analytics