`
cyw
  • 浏览: 33139 次
  • 来自: 广州
社区版块
存档分类
最新评论

正则表达式-备忘

 
阅读更多

正则表达式-备忘

   在学习java web的时候,无意之中联想到了正则表达式,很好奇是一种什么样的表达式,于是就谷歌了下。

在网上看了几家之言,对于正则表达式的大体概念是,这是一个用于检索、替换字符串的字符串操作命令。

在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。许多程序设计语言都支持利用正则表达式进行字符串操作。

所以,接下来便是正则表达式的语法了,区分大小写:

1、      字符:一般都为普通字符,但有一些被叫做“元字符”的特殊字符,类似于转义字符,有一些特殊的规则。可以使用反斜杠“\”可以忽略元字符,使得元字符的功能与普通字符一样。反斜杠本身也是一个元字符,这意味着反斜杠本身也可以通过相似的方法变回到普通字符的用途。

2、      点“.  :可以匹配任意一个字符。

3、      字符类:一组在方括号内的字符,表示可以匹配其中的任何一个字符。重要提示:字符类中和字符类外的规则有时不同,一些字符在字符类中是元字符,在字符类外是普通字符。一些字符正好相反。还有一些字符在字符类中和字符类外都是元字符,这要视情况而定!

4、      字符类的范围“-”:在字符集中,可以通过短横线来表示匹配字母或数字的范围。在字符集外,短横线唯一普通字符。

5、      反义符“^”:在字符类的起始位放反义符。

6、      转移字符类:\d (匹配任何一个数字,类似于[0-9]);\w  (匹配任意一个数字或者字母字符,类似于[0-9A-Za-z]);\s (匹配任意一个空字符,比如空格,制表符、回车或者换行)。另外,\D   \W  \S 便是对应的反义了。

7、      重复{}a{2}aa。指定重复次数的范围,比如a{3,5}aaa,aaaa,aaaaa

8、      关于重复的转移字符:?   表示{0,1}表示{0,}; +  表示{1,}

9、      非贪婪匹配:默认匹配最长字符,在居委加上一个问号之后,使得字符串重复不再匹配最长字符,而是最短字符。

10、    选择匹配“|

11、    分组()

12、    单词分隔符\b:在文本的开头和结尾通常也有单词分隔符, 单词分隔符本身并不是字符。它们的宽度为0

13、    换行符:^表示匹配行的开始位置;

$表示匹配行的结束位置;^&表示一个空行; 

^.*& 表示匹配全文内容,因为行的开始符号也是一个字符,"."会匹配这个符号。找到单独的一行,可以使用 ^.*?$

\^\$表示匹配字符串“^$

[$]表示匹配一个$。但是,[^]不是合法的正则表达式。记住在方括号中,字符有不同的特殊含义。要想在方括号内匹配^,必须用[\^]

与字符分隔符一样,换行符也不是字符。它们宽度为0.

14、    文本分界

在很多的正则表达式实现中,将^$作为文本的开始符号和结束符号。还有一些实现中,用\A\z作为文本的开始和结束符号。

15、    捕捉和替换:

使用()括号捕捉子串,捕获组从左到右编号,所以可以用左括号计数。替换:使用“\编号,比如\3-\1-\2,这些编号分别对应于捕获组编号。

16、    反向引用:引用捕获组。如([abc])\1  表示匹配aa或者bb或者cc

 

具体可以参考一下链接进行学习:

http://blog.jobbole.com/63398/

http://www.jb51.net/tools/zhengze.html

以及推荐一个比较好用的正则表达式在线编辑器:

 https://www.debuggex.com/

分享到:
评论

相关推荐

    CSharp正则表达式整理备忘

    CSharp正则表达式整理备忘,有简单代码示例,比较完整。

    C#正则表达式整理备忘

    C#正则表达式整理备忘 (1) “@”符号 “@”虽然并非C#正则表达式的“成员”,但是它经常与C#正则表达式出双入对。“@”表示,跟在它后面的字符串是个“逐字字符串”,不是很好理解,举个例子,以下两个声明是等效的...

    C#正则表达式整理备忘(PDF格式)

    标题和描述中的知识点聚焦于C#正则表达式的理解和应用,尤其强调了“@”符号在C#中作为逐字字符串标识符的角色,以及一系列基本的语法字符和定位字符的用法。以下是对这些知识点的深入解析: ### “@”符号在C#中的...

    C#正则表达式整理备忘.doc

    【C#正则表达式整理备忘】 C#正则表达式是一种强大的文本处理工具,广泛应用于字符串的验证、搜索和替换。以下是一些关键概念和语法的详细说明: 1. **逐字字符串(@)** 在C#中,使用`@`符号可以创建逐字字符串...

    正则表达式培训演讲(内部材料)

    `C#正则表达式整理备忘.htm`和`C#正则表达式.htm`很可能是培训资料的核心部分,可能包含正则表达式的语法、特殊字符、预定义字符类、量词、分组、捕获、反向引用、零宽度断言以及自定义的正向和反向查找等内容。...

    正则表达式备忘录.pdf

    这份“正则表达式备忘录”详细列出了常用元字符、限定符、反义代码以及分组语法等重要知识点,用于帮助使用者快速记忆和应用这些模式。 ### 常用元字符 正则表达式中的元字符是具有特殊含义的字符,它们用于构造...

    正则表达式速查备忘手册

    正则表达式速查备忘手册,方便大家快速查找编写正则表达式。人手一册方便快速!!!!

    正则表达式入门,晋级及备忘学习资料

    备忘查询表通常是各种常见正则表达式的集合,供开发者快速查阅。表格可能包括日期格式、时间格式、邮政编码、IP地址等各种常见字符串模式的正则表达式。 总之,正则表达式是IT开发中不可或缺的一部分,掌握其语法和...

    运用正则表达式匹配所有表名

    正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多...

    C#字符串和正则表达式参考手册

    在IT行业中,C#是一种广泛使用的编程语言,尤其在开发Windows应用程序、Web应用以及游戏...对于"**C#正则表达式整理备忘.txt**"这个文件,它可能包含了更详细的正则表达式用法和实例,可以作为学习和查阅的宝贵资源。

    regex-cheatsheet:不同正则表达式语法的备忘单

    正则表达式语法备忘单 许多程序使用正则表达式来查找和替换文本。 然而,它们往往带有自己不同的风味。 您可能会期望大多数现代软件和编程语言都使用 Perl 风格的一些变体,“PCRE”; 然而,命令行工具(grep、...

    JavaScript 正则表达式备忘单实例代码

    正则表达式或“regex”用于匹配字符串的各个部分 下面是我创建正则表达式的备忘单。 匹配正则 使用 .test() 方法 let testString = "My test string"; let testRegex = /string/; testRegex.test(testString); 匹配...

    zhengzebiaodashi.rar_regular expression_zhengzebiaodashi_正则表达式_表

    正则表达式(regular expression)使用大全,收集了常用的使用方法和交流学习网址。正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总是不太把握,以致往往要上网查一番。我将一些常用的表达式收藏在...

    regular-expression-cheat-sheet:正则表达式备忘单-PCRE

    正则表达式备忘单-PCRE 锚 描述 例子 有效匹配 无效的 ^ 字符串或行的开始 泡沫 泡沫 沐浴露 \一种 在任何匹配模式下字符串的开始 \泡沫 泡沫 沐浴露 $ 字符串或行的结尾 完成$ 结束 芬兰 \ Z 字符串的结尾,或...

    你不一定知道的关于JavaScript的正则表达式

    现在我把正则表达式在五大主流浏览器(IE、Firefox、Chrome、Safari、Opera,以当前版本为准)之间的差异整理一下罗列出来,给大家,也算给我自己做一个备忘。 1、Firefox和Chrome会过度优化在循环(以及其中内嵌的...

Global site tag (gtag.js) - Google Analytics