常用的正则表达式
匹配中文字符的正则表达式: [\u4e00-\u9fa5]
匹配双字节字符(包括汉字在内):[^\x00-\xff]
匹配空行的正则表达式:\n[\s| ]*\r
匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/
匹配首尾空格的正则表达式:(^\s*)|(\s*$)
匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*
匹配网址URL的正则表达式:http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?
3.1.2非打印字符
非打印字符也是普通字符,单独列出来便于参考。
非打印字符参考(有错大家矫正,JS手册都有)
\cx
匹配由x指明的控制字符。例如, \cM 匹配一个 Control-M 或回车符。x 的值必须为 A-Z 或 a-z 之一。否则,将 c 视为一个原义的 'c' 字符。
\f
匹配一个换页符。等价于 \x0c 和 \cL。
\n
匹配一个换行符。等价于 \x0a 和 \cJ。
\r
匹配一个回车符。等价于 \x0d 和 \cM。
\s
匹配任何空白字符,包括空格、制表符、换页符等等。等价于 [ \f\n\r\t\v]。
\S
匹配任何非空白字符。等价于 [^ \f\n\r\t\v]。
\t
匹配一个制表符。等价于 \x09 和 \cI。
\v
匹配一个垂直制表符。等价于 \x0b 和 \cK。
Regex中可以使用非打印字符。\t会匹配一个tab字符(ASC||),\r 会匹配一个回车(0x0D),\n 会匹配一个换行符(0x0A)。应该注意的是:Windows使用\r\n表示一行的结束,而UNIX使用\n 。
同样,我们可以在Regex中使用16进制的ASCⅡ码或者ANSI标准码。在拉丁语中,版权符号的代码是0xA9,所以我们也可以这样来匹配版权符号 \xA9 。另外一个匹配tab的写法是:\x09 。但是注意,第一位的“0”必须去掉。
特殊字符
特殊字符也叫做元字符,保留字符(Metacharactor),在Regex中表示特殊的意义,大部分的意思在不同的上下文中的意义是不同的,这里只列出最普遍的意义。
特殊字符共有11个:
$
匹配输入字符串的结尾位置。如果设置了 RegExp 对象的 Multiline 属性,则 $ 也匹配 '\n' 或 '\r'。要匹配 $ 字符本身,请使用 \$。
( )
标记一个子表达式的开始和结束位置。子表达式可以获取供以后使用。要匹配这些字符,请使用 \( 和 \)。
*
匹配前面的子表达式零次或多次。要匹配 * 字符,请使用 \*。
+
匹配前面的子表达式一次或多次。要匹配 + 字符,请使用 \+。
.
匹配除换行符 \n之外的任何单字符。要匹配 .,请使用 \。
[
标记一个中括号表达式的开始。要匹配 [,请使用 \[。
?
匹配前面的子表达式零次或一次,或指明一个非贪婪限定符。要匹配 ? 字符,请使用 \?。
\
将下一个字符标记为或特殊字符、或原义字符、或反向引用、或八进制转义符。例如, 'n' 匹配字符 'n'。'\n' 匹配换行符。序列 '\\' 匹配 "\",而 '\(' 则匹配 "("。
^
匹配输入字符串的开始位置,除非在方括号表达式中使用,此时它表示不接受该字符集合。要匹配 ^ 字符本身,请使用 \^。
{
标记限定符表达式的开始。要匹配 {,请使用 \{。
|
指明两项之间的一个选择。要匹配 |,请使用 \|。
在元字符前加 \ 转义符,可以把特殊字符当作普通字符来使用。
比如:如要要匹配 1+1=2 ,正确的正则表达式应该为1\+1=2。否则, + 会被当作特殊字符对待。
除了特殊字符,所有的其他字符都不应该加 \ 。因为 \ 也是一个特殊字符。\ 和普通字符组合在一起也可以创造一种特殊的意义。比如 \d 表示匹配所有的数字。
作为程序员,单引号和双引号不是特殊字符会也许让我们感到很惊讶。但这是正确的。因为我们在编程的时候,编程语言会知道引号之间的哪些字符表示特殊意义, 编译器在把字符串x传递给regex解释引擎之前,会把它们处理成regex。比如,在C#中,如果我们要匹配 1\+1=2 ,在程序中我们要这样写: “1\\+1=2” ,C#编译器会把 “\\” ,处理为一个“\” 。同样,如果要匹配 C:\Temp ,首先,正则表达式要这样写 C:\\Temp,然后在程序中我们应该这样写:“ C:\\\\temp”。
<!---->
相关推荐
正则表达式(Regular Expression...通过张孝祥老师的"正则表达式概述"视频教程,你可以系统地学习这些概念,并掌握在Java开发中如何有效利用正则表达式解决实际问题。不断实践和探索,你将成为正则表达式的熟练使用者。
Java正则表达式是Java编程语言中的一个强大工具,用于处理字符串模式匹配和搜索替换操作。在本视频教程中,讲师逐步从基础到高级,详细介绍了Java正则表达式的使用方法,非常适合初学者入门。 首先,我们要理解正则...
### 常用正则表达式概述 #### 正则表达式基础概念 正则表达式(Regular Expression)是一种强大的文本处理工具,在多种编程语言中都有应用,包括但不限于 Java、Python 和 JavaScript 等。它能够帮助我们进行复杂...
- 正则表达式概述.doc 和 正则表达式.doc 提供了详细的正则表达式介绍和实例,是初学者很好的学习材料。 - 在线正则表达式测试工具,如Regex101或RegExr,能帮助理解和调试正则表达式。 正则表达式的学习需要实践...
GREP正则表达式概述 在Adobe InDesign软件中,GREP(Global Regular Expression Print)正则表达式的使用能够极大地提高文档编辑效率,特别是在处理大量文本时。通过精确地查找与替换特定模式的文字,用户可以在几...
在深入探讨ORACLE.PLSQL中的正则表达式之前,我们首先需要理解正则表达式的概念以及它在数据库查询中的应用价值。正则表达式(Regular Expression),简称regex或regexp,是一种用于模式匹配的强大工具,广泛应用于...
#### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,在多种编程语言中都有应用,它可以帮助我们完成字符串搜索、替换等一系列复杂的文本处理任务。在报表开发工具FineReport中,正则表达式同样扮演着...
#### 一、正则表达式概述 正则表达式是一种功能强大的文本处理工具,可以用于在各种编程语言中进行数据的搜索、替换以及提取等操作。它作为一种标准特性已经广泛应用于多种流行的语言与工具之中,如Perl、Python、...
正则表达式概述 正则表达式是一种逻辑公式,用于对字符串进行操作的模式匹配。它通过事先定义好的特定字符和这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用于表达对字符串的过滤逻辑。正则...
#### 一、正则表达式概述 正则表达式是一种强大的文本模式匹配工具,广泛应用于编程语言如Java中,用于处理字符串数据,实现字符串的搜索、替换、提取等操作。它能够精确描述复杂的文本规则,帮助开发者高效地处理...
### 正则表达式概述 正则表达式(Regular Expression)是一种强大的文本处理工具,在字符串查找、替换等操作中有着广泛的应用。通过定义一种由字符和特殊符号组成的语言,正则表达式能够精确地匹配文本中的模式。 ...
#### 一、正则表达式概述 正则表达式是一种在文本中查找或替换字符串的强大工具,在JavaScript中被广泛应用于数据验证、字符串搜索与替换等场景。通过学习并掌握正则表达式的使用方法,可以极大地提高编程效率。 #...
#### 一、正则表达式概述 正则表达式是一种强大的文本处理工具,能够帮助我们完成各种复杂的字符串搜索与替换功能。在实际开发过程中,正则表达式广泛应用于字符串处理、表单验证等多个方面。 #### 二、常用正则...
#### 正则表达式概述 正则表达式是一种用于字符串模式匹配和替换的强大工具。它允许开发者通过一系列特殊的字符序列来定义复杂的搜索模式,这些模式可以用于查找和替换文本中的指定内容。例如,简单的正则表达式...
#### 一、正则表达式概述 正则表达式是一种用于模式匹配的强大工具,广泛应用于文本处理领域。通过学习正则表达式,用户能够高效地进行数据提取、清洗以及格式化等工作。《正则表达式之道》一书由Steve Mansour撰写...
#### 二、MySQL正则表达式概述 MySQL支持通过`REGEXP`操作符来进行正则表达式的匹配,这对于复杂的数据查询和模式匹配非常有用。如果你熟悉PHP或Perl等语言中的正则表达式,那么在MySQL中使用它们会相对容易上手。 ...
#### 一、正则表达式概述 正则表达式是一种强有力的模式匹配工具,广泛应用于各种编程语言中,用于文本处理。正则表达式允许用户定义复杂的查找模式,这对于数据验证、搜索和替换操作特别有用。 #### 二、基本概念...