正则表达式教程 (1)

简介:
原文:[url]http://www.regular-expressions.info/characters.html[/url]
 
字面字符
 
最基本的正则表达式是由一个单个的字面字符构成,例如 a 他将匹配字符串中该字符的首次出现。如果字符串是Jack is a boy,这将匹配J后面的a字符.虽然a在单词中间是事实,但正则表达式引擎不管这些。如果你比较在意这个,就需要告诉正则表达式引擎使用单词边界,后面我们会介绍这个。
这正则表达式也可以匹配的第二次出现的a。它只会在你告知的情况下搜索整个字符串寻找第一次匹配之后的情况。在文字编辑器,你可以这样做利用其“查找下一个”或“搜索前进”的功能。在一种编程语言中,通常有一个单独的功能,您可以调用继续搜索上次匹配后的结果。
同样,正则表达式cat匹配About cats and dogs中的cat。这正则表达式包括一系列的三个字面字符。这就好比对正则表达式引擎说:查找c,紧接着一个a,紧接着t
请注意,正则表达式引擎默认是区分大小写的。cat不匹配Cat,除非你告诉正则表达式引擎忽略大小写。
 
译注:字面值指的是字母,数字,下划线,各国语言字符,和下面要介绍的没有特殊意义的标点字符。
 
特殊字符
 
因为我们不想仅仅搜索一段字面文本,我们需要保留一定字符用作特殊使用。在regex flavors discussed in this tutorial教程中,有11个字符具有特殊含义:他们是[\^$.|?*+()这些特殊字符叫做元字符。
如果想使用这些字符用作字母值,需要使用转义符\如果想匹配1+1=2,正确的是1\+1=2.否则,+将具有特殊意义。
如果你忘记了转义且把这些字符用在了不正确的位置,那么会得到一个错误信息。
大部分表达式把{看作字面值,除非是重复操作类似{1,3}的一部分。所以通常不必转义,虽然你可以这么做。有个例外是:java.util.regex包,它要求所有字母括号都要转义。
所有其他字符不要转义,因为\也是特殊符号。\和一些字面字符在一起可能有其他意义:例如\d匹配0-9




本文转自 xcf007 51CTO博客,原文链接:http://blog.51cto.com/xcf007/101906 ,如需转载请自行联系原作者
相关文章
|
6月前
|
Ruby
|
应用服务中间件 nginx
Nginx系列教程(07) - Location正则表达式
Nginx系列教程(07) - Location正则表达式
154 0
|
4月前
|
关系型数据库 MySQL
MySQL 保姆级教程(七):用正则表达式进行搜索
MySQL 保姆级教程(七):用正则表达式进行搜索
|
4月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
5月前
|
数据采集 监控 Java
正则表达式教程:从入门到实战应用
正则表达式教程:从入门到实战应用
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
47 3
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
48 2
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 4
简洁概括:Perl正则表达式强大,s///操作符用于字符串替换,例子展示替换"google"为"baidu"。
39 1
|
6月前
|
Perl
Perl 教程 之 Perl 正则表达式 1
Perl教程介绍了其强大的正则表达式功能,用于字符串匹配、替换和转化。匹配用m//(可简写为//),替换用s///,转化用tr///,常与=~或!~配合判断匹配与否。示例展示了m//在匹配字符串中的应用。
34 0