正则表达式中的特殊字符:
1、\:
反斜杠,对于其后的平常被当作字面量的字符,将其转义为特殊字符。比如,/b/匹配了字符'b'.通过在b的前面放一个反斜杠,即用作/\b/,这个字符变成了一个特殊意义的字符,意思是匹配一个字符边界。
反斜杠也可以将其后的特殊字符,转义为字面量。比如,* 是一个代表着前一项0次或多次发生时将会被匹配的特殊字符;比如,/a*/代表会匹配0个或者多个a。为了匹配*符号直接量,在它的前面加一个反斜杠;比如,/a\*/匹配'a*'
当使用new RegExp("pattern")方法的时候不要忘记将\它自己进行转义,因为\在字符串里面也是一个转义字符。
2、^:
匹配输入的开始。如果多行标示被设置为true,同时匹配换行后紧跟的字符。
比如,/^A/并不会匹配“an A”中的‘A’,但是会匹配“An E”中的‘A’。
当这个字符出现在一个字符集合模式的第一个字符的时候,它将会有不同的意义。
比如,/[^a-z\s]/会匹配“my 3 sisters”中的‘3’
3、$:
匹配输入的结束,如果多行标示被设置为true,同时会匹配换行前紧跟的字符。
比如,/t$/并不会匹配“eater”中的‘t’,但是会匹配“eat”中的。
4、*:
匹配前一个字符0次或者是多次。
比如,/bo*/会匹配“A ghost boooooed”中的'boooo'和‘A bird warbled’中的‘b’,但是在“A goat grunted”中将不会匹配任何东西。
5、+:
匹配前面一个字符1次或者多次,和{1,}有相同的效果。
比如,/a+/匹配了在“candy”中的a,和在"caaaaaaandy"中所有的a。
6、?:
匹配前面一个字符0次或者1次,和{0,1}有相同的效果。
比如,/e?le?/匹配“angel”中的‘el’,和"angle"中的‘le’以及“oslo”中的'l'。
如果'?'紧跟在在任何量词*, + , ?,或者是{}的后面,将会使量词变成非贪婪模式(匹配最少的次数),和默认的贪婪模式(匹配最多的次数)正好相反。比如,使用/\d+/非全局的匹配“123abc”将会返回“123”,如果使用/\d+?/,那么就只会匹配到“1”。
同时运用在向前断言,在本表的x(?=y)和x(?!y)中有描述。
7、.:
(小数点)匹配任何除了新一行开头字符的任何单个字符。
比如,/.n/将会匹配‘nay, an apple is on the tree’中的‘an’和‘on’,但是不会匹配'nay'。
8、(x):
匹配‘x’并且记住匹配项。这个被叫做捕获括号。
比如,/(foo)/匹配和记住了“foo bar”中的'foo'。匹配到子字符串可以通过结果数组的[1],...,[n]元素进行访问。
9、(?:x):
匹配'x'但是不记住匹配项。这种被叫做非捕获括号。匹配到的子字符串不能通过结果数组的
[1],...,[n]进行访问。
10、x(?=y):
匹配'x'仅仅当'x'后面跟着'y'.这种叫做正向肯定查找。
比如,/Jack(?=Sprat)/会匹配到'Jack'仅仅当它后面跟着'Sprat'。/Jack(?=Sprat|Frost)/匹配‘Jack’仅仅当它后面跟着'Sprat'或者是‘Frost’。但是‘Sprat’和‘Frost’都不是匹配结果的一部分。
11、x(?!y):
匹配'x'仅仅当'x'后面不跟着'y',这个叫做正向否定查找。
比如,/\d+(?!\.)/匹配一个数字仅仅当这个数字后面没有跟小数点的时候。正则表达式/\d+
(?!\.)/.exec("3.141")匹配‘141’但是不是‘3.141’
12、x|y:
匹配‘x’或者‘y’。
比如,/green|red/匹配“green apple”中的‘green’和“red apple”中的‘red’
13、{n}:
n是一个正整数,匹配了前面一个字符刚好发生了n次。
比如,/a{2}/不会匹配“candy”中的'a',但是会匹配“caandy”中所有的a,以及“caaandy”中的前两个'a'。
14、{n,m}:
n 和 m 都是正整数。匹配前面的字符至少n次,最多m次。如果 n 或者 m 的值是0, 这个值被忽略。
例如,/a{1, 3}/ 并不匹配“cndy”中得任意字符,匹配“candy”中得a,匹配“caandy”中得前两个a,也匹配“caaaaaaandy”中得前三个a。注意,当匹配”caaaaaaandy“时,匹配的值是“aaa”,即使原始的字符串中有更多的a。
15、[xyz]:
一个字符集合。匹配方括号的中任意字符。你可以使用破折号(-)来指定一个字符范围。对于点(.)和星号(*)这样的特殊符号在一个字符集中没有特殊的意义。他们不必进行转意,不过转意也是起作用的。
例如,[abcd] 和[a-d]是一样的。他们都匹配"brisket"中得‘b’,也都匹配“city”中的‘c’。/[a-z.]+/ 和/[\w.]+/都匹配“test.i.ng”中得所有字符。
16、[^xyz]:
一个反向字符集。也就是说, 它匹配任何没有包含在方括号中的字符。你可以使用破折号(-)来指定一个字符范围。任何普通字符在这里都是起作用的。
例如,[^abc] 和 [^a-c] 是一样的。他们匹配"brisket"中得‘r’,也匹配“chop”中的‘h’。
17、[\b]:
匹配一个退格(U+0008)。(不要和\b混淆了。)
18、\b:
匹配一个词的边界。一个词的边界就是一个词不被另外一个词跟随的位置或者不是另一个词汇字符前边的位置。注意,一个匹配的词的边界并不包含在匹配的内容中。换句话说,一个匹配的词的边界的内容的长度是0。(不要和[\b]混淆了)
例子:
/\bm/匹配“moon”中得‘m’;
/oo\b/并不匹配"moon"中得'oo',因为'oo'被一个词汇字符'n'紧跟着。
/oon\b/匹配"moon"中得'oon',因为'oon'是这个字符串的结束部分。这样他没有被一个词汇字符紧跟着。
/\w\b\w/将不能匹配任何字符串,因为一个单词中的字符永远也不可能被一个非词汇字符和一个词汇字符同时紧跟着。
19、\B:
匹配一个非单词边界。他匹配一个前后字符都是相同类型的位置:都是单词或者都不是单词。一个字符串的开始和结尾都被认为是非单词。
例如,/\B../匹配"noonday"中得'oo', 而/y\B./匹配"possibly yesterday"中得’ye‘
20、\cX:
当X是处于A到Z之间的字符的时候,匹配字符串中的一个控制符。
当X是处于A到Z之间的字符的时候,匹配字符串中的一个控制符。
例如,/\cM/
匹配字符串中的 control-M (U+000D)。
21、\d:
匹配一个数字。
等价于[0-9]
。
例如, /\d/
或者 /[0-9]/
匹配"B2 is the suite number."中的'2'。
22、\D:
匹配一个非数字字符。
等价于[^0-9]
。
例如, /\D/
或者 /[^0-9]/
匹配"B2 is the suite number."中的'B' 。
23、\f:
匹配一个换页符 (U+000C)。
24、\n:
匹配一个换行符 (U+000A)。
25、\r:
匹配一个回车符 (U+000D)。
26、\s:
匹配一个空白字符,包括空格、制表符、换页符和换行符。
等价于[ \f\n\r\t\v\u00A0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u2028\u2029\u202f\u205f\u3000]
。
例如, /\s\w*/
匹配"foo bar."中的' bar'。
28、\S:
匹配一个非空白字符。
等价于[^ \f\n\r\t\v\u00A0\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u2028\u2029\u2028\u2029\u202f\u205f\u3000]
。
例如, /\S\w*/
匹配"foo bar."中的'foo'。
29、\t:
匹配一个水平制表符 (U+0009)。
30、\v:
匹配一个垂直制表符 (U+000B)。
31、\w:
匹配一个单字字符(字母、数字或者下划线)。
等价于[A-Za-z0-9_]
。
例如, /\w/
匹配 "apple," 中的 'a',"$5.28,"中的 '5' 和 "3D." 中的 '3'。
32、\W:
匹配一个非单字字符。
等价于[^A-Za-z0-9_]
。
例如, /\W/
或者 /[^A-Za-z0-9_]/
匹配 "50%." 中的 '%'。
33、\n:
当 n 是一个正整数,一个返回引用到最后一个与有n插入的正值表达式(counting left parentheses)匹配的副字符串。
比如 /apple(,)\sorange\1/
匹配"apple, orange, cherry, peach."中的'apple, orange,' 。
\0
匹配 NULL (U+0000) 字符, 不要在这后面跟其它小数,因为 \0<digits>
是一个八进制转义序列。
34、\xhh:
匹配带有两位小数代码(hh)的字符。
35、\uhhhh:
匹配带有四位小数代码(hh)的字符。
相关推荐
句点符号“.”是正则表达式中最基本的元字符之一,它匹配所有字符,包括空格、Tab 字符甚至换行符。 方括号符号 --------- 方括号符号“[]”用于指定看来有意义的字符,只有方括号里面指定的字符才参与匹配。 ...
在项目中直接使用正则表达式可以极大地提高代码的效率和可读性。以下是对给定文件中的正则表达式知识点的详细解析: ### 1. 匹配中文字符 正则表达式:`[\u4e00-\u9fa5]` 此表达式用于匹配中文字符,其中`\u4e00`...
正则表达式中的字符可以分为普通字符和特殊符号。特殊符号被赋予了特殊的含义,用来表示各种匹配模式: - **量词**: - `*`:匹配前面的字符零次或多次。 - `+`:匹配前面的字符一次或多次。 - `?`:匹配前面的...
- **模式匹配**:正则表达式由一系列字符和特殊符号组成,用于定义一个模式,该模式可以匹配特定的字符串。 - **元字符**:如`*`, `+`, `?`, `{}`, `[]`, `\`等,它们具有特殊的含义,用于指定重复次数、选择范围...
根据提供的文件信息,本文将详细解释与JavaScript中的正则表达式相关的知识点,这些知识点主要涉及字符串验证、格式检查以及特定模式匹配等方面。 ### 正则表达式基础 在深入探讨具体的正则表达式之前,先简要回顾...
在正则表达式中,可以使用特殊字符或者字符集合来标示被搜索的目的字符串。例如,使用句点(.)可以匹配任意的单个字符。同时,正则表达式还提供了其他方式来匹配任意字符,例如使用字符集合([xxx])来匹配某些字符...
第一章:正则表达式字符匹配攻略 * 两种模糊匹配:横向模糊匹配和纵向模糊匹配 * 字符组:范围表示法、排除字符组、常见的简写形式 * 量词:简写形式、贪婪匹配与惰性匹配 * 多选分支 正则表达式字符匹配攻略 ...
根据提供的文件信息,我们可以整理出一系列与正则表达式相关的...以上内容概括了从文件中提取出来的正则表达式知识点,这些知识点覆盖了正则表达式的多个应用场景,对于从事软件开发、数据分析等领域的人来说非常实用。
1. JavaScript正则表达式在线测试工具:http://tools.jb51.net/regex/javascript 2. 正则表达式在线生成工具:http://tools.jb51.net/regex/create_reg 这些工具可以帮助开发者快速测试和生成正则表达式,从而提高...
在JavaScript的世界里,正则表达式(Regular Expression)是一种强大的文本处理工具,它能用于搜索、替换、验证字符串等操作。对于任何JavaScript开发者来说,掌握正则表达式都是至关重要的,因为它们在处理数据格式...
3. 特殊字符转义:在正则表达式中,特殊字符需要使用反斜杠`(`进行转义,如`\.`匹配实际的点号,`\d`匹配数字。 二、标志符(Flags) 1. `g`:全局搜索,使正则表达式在字符串中查找所有匹配项,而不仅仅是第一个...
1. **元字符**:正则表达式中的特殊字符,用于指定模式。例如,“.”可以匹配任何单个字符(除了换行符),而“*”表示匹配前面的字符零次或多次。 2. **量词**:用来指定模式出现的次数。例如,“a{3}”表示匹配...
正则表达式是一种强大的文本处理工具,能够帮助用户实现字符串的查找、替换等功能。正则表达式的应用场景非常广泛,尤其在编程领域中不可或缺。对于初学者来说,掌握正则表达式的基础知识尤为重要。 #### 2. 正则...
在IT行业中,正则表达式是处理字符串时不可或缺的一部分,尤其在数据验证、文本提取等方面。在这个场景中,我们需要创建一个正则表达式来验证输入是否符合一年12个月份的格式。 首先,我们要明确一年中的12个月份的...
《JavaScript正则表达式迷你书》是一本关于JavaScript正则表达式的专业书籍,正则表达式是处理字符串的强大工具,广泛应用于编程语言中的文本处理。本书从字符匹配、位置匹配、括号的作用、回溯法原理、拆分、构建和...
正则表达式由一系列字符和特殊符号组成,可以表达复杂的模式匹配规则。在许多编程语言中,都有内置的库或函数支持正则表达式操作。 例如,如果我们想验证一个字符串是否为有效的电子邮件地址,可以使用以下正则...
正则表达式(Regular Expression)是JavaScript中处理字符串的强大工具,它被广泛用于文本的查找、替换和验证等操作。"传智播客_张孝祥_JavaScript7_正则表达式"这个课程可能详细讲解了JavaScript中的正则表达式及其...
掌握正则表达式可以帮助开发者高效地处理字符串,例如在JavaScript中,可以结合`test()`、`match()`、`replace()`等方法进行复杂的文本操作。 这三部分知识的结合,对于想要从事前端开发或者提升Web技能的人员来说...