外文翻译——JavaScript Tutorial——Regular Expression——(3)

特殊字符

在正则式中,有些字符有特殊的用法:[ \ ^ $ . | ? * + ( ).

因为用来增强正则式的匹配功能,所以它们很特殊。不要尝试去记忆它们,等我们都用过以后,你就能轻松记住了。

要把特殊字符当普通标识使用,就必须转义。也就是说,需要在前面加上反斜杠。

比如,我们要查找点"."。在正则式中,它代表除换行符以外的所有字符。

所以我们需要转义它:

1 showMatch( "Chapter 5.1", /\d\.\d/ )  // 5.1

如果不转义,"\d.\d"还会匹配"5+1":

1 showMatch( "5+1 = 6", /\d.\d/ )  // 5+1

圆括号同样是特殊字符,所以,用"\("才能匹配到左括号。下面的例子查找一个后面跟了左括号的字符:

1 showMatch( "function g()", /\w\(/ )  // g(

斜杠"/"在正则式语法中不是特殊字符,但如果参数是斜杠"/",就必须要转义成"\/",这样JS解析器就知道你要的字符是"/"而不是结束一个正则式。

例如:

1 showMatch( "/", /\// )  // ‘/‘
时间: 2024-11-05 13:29:56

外文翻译——JavaScript Tutorial——Regular Expression——(3)的相关文章

外文翻译——JavaScript Tutorial——Regular Expression——(1)

原文地址:http://javascript.info/tutorial/regexp-introduction 简介 正则表达式有非常强大的用于字符串“查找”和“替换”的功能.在JS中,它被集成在字符串方法:search, match和replace中. 正则表达式,由一个pattern(匹配规则)和flags(修饰符—可选)组成. 一个基本的正则匹配跟子串匹配一样.斜杠"/"包围的字符串可以创建一个正则表达式. 1 regexp = /att/ 2 3 str = "Sh

外文翻译——JavaScript Tutorial——Regular Expression——(2)

字符类 假设我们要在字符串中查找一个数字.不是指定的数字,而是任意数字,比如:在"Only 1"中查找"1",在"Give me a 5"中查找"5". 子串匹配可以在循环中用来查找0-9中的所有数字.但是采用正则式可以更优雅地处理这种情况. 正则式可以利用字符类代替具体的字符. 例如,正则式中用"\d"来表示任意数字.下面例子中匹配了一个数字: 1 showMatch( "I'm 5 years

外文翻译——JavaScript Tutorial——Regular Expression——(4)

修饰符 一个正则式可能包含一个能影响搜索结果的修饰符. JS中有3个修饰符: g:查找所有结果: i:结果忽略大小写: m:多行匹配模式: 修饰符放在参数后面,如:/.../g. 没有全局修饰符的正则式只返回第一个匹配值: 1 alert( "123".match( /\d/ )) // '1' 如果有全局修饰符,所有匹配值都会被返回: 1 alert( "123".match( /\d/g )) // '1', '2', '3' 多个修饰符也是可行的.比如:忽略大

[label][翻译][JavaScript Regular Expression]JavaScript Regular Expressions

原文:http://www.javascriptkit.com/javatutors/re.shtml 校验用户的输入是每一个软件开发者的必须要做的事情. 正则表达式与模式 如何在JavaScript中使用正则表达式呢?这里有两种方式: 1)字面量语法. 2)当你需要动态构建正则表达式时,可以通过RegExp()构造函数. 字面量语法如下: var RegularExpression = /pattern/; RegExp()构造函数方法如下: var RegularExpression = n

JavaScript Patterns 3.6 Regular Expression Literal

1. Using the new RegExp() constructor // constructor var re = new RegExp("\\\\", "gm"); 2. Using the regular expression literal // regular expression literal var re = /\\/gm;  when using the RegExp()constructor, you also need to escape

[LeetCode][JavaScript]Regular Expression Matching

Regular Expression Matching Implement regular expression matching with support for '.' and '*'. '.' Matches any single character. '*' Matches zero or more of the preceding element. The matching should cover the entire input string (not partial). The

Python正则表达式Regular Expression基本用法

资料来源:http://blog.csdn.net/whycadi/article/details/2011046   直接从网上资料转载过来,作为自己的参考.这个写的很清楚.先拿来看看. 1.正则表达式re模块的基本函数. (1)findall函数的用法 findall(rule,target[,flag])是在目标字符串中找到符合规则的字符串.参数说明:rule表示规则,target表示目标字符串,[,flag]表示的是规则选项.返回的结果是一个列表.若没找到符合的,是一个空列表. 如: 因

Regular Expression(正则表达式)之邮箱验证

正则表达式(regular expression, 常常缩写为RegExp) 是一种用特殊符号编写的模式,描述一个或多个文本字符串.使用正则表达式匹配文本的模式,这样脚本就可以轻松的识别和操作文本.其实,正则表达式是值得大家花时间学习的.正则表达式不仅在javaScript 中有用,在其他许多地方也可以使用正则表达式,例如其他编程语言(比如Perl,Java,C#,Python 和PHP ),Apache 配置文件以及BBEdit 和TextMate 等文本编辑器.甚至Adobe Dreamwe

LeetCode 10 Regular Expression Matching (正则表达式匹配)

翻译 实现支持"."和"*"的正则表达式匹配. "." 匹配支持单个字符 "*" 匹配零个或多个前面的元素 匹配应该覆盖到整个输入的字符串(而不是局部的). 该函数的原型应该是: bool isMatch(const char * s, const char * p) 示例: isMatch("aa","a") → false isMatch("aa","a