码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2019-12-09 21:48:33      阅读:116      评论:0      收藏:0      [点我收藏+]

标签:web应用   在线   纯java   开源协议   pcr   正则   char   应用   实现   

正则表达式:描述了一种字符串匹配的模式(pattern)

用途:1、字符串搜索算法(搜索,搜索并替换)

     2、鉴定输入合法性

基本语法:

一个正则表达式通常被称为一个pattern,用来描述或匹配一系列符合某个句法规则的字符串,例如 Handel、Händel 和 Haendel 这三个字符串,都可以用H(a|ä|ae)ndel这个pattern来描述。

大部分正则表达式的形式都有如下的结构:

  选择 (|表示,如 gray|grey 可以匹配gray或grey)

  数量控制(某个字符后的数量控制符用来限定前面这个字符允许出现的次数,最常见的数量限定符包括+、?、*,不加数量限定符则代表前面的字符出现且仅出现一次。

        加号+,代表前面的字符至少出现一次(1次或多次),如 goo+gle 可以匹配google, gooogle,gooooogle等;

        问号?,代表前面的字符最多出现1次,1次或0次,例如colou?r可以匹配color或colour;

        星号*,代表前边的字符可以不出现,也可以出现一次或多次,例如0*42,可以匹配42、042、0042、000042等;

        花括号{n},其中n是一个非负整数,代表前面的字符精确出现了n次;

        花括号{n,},其中n是一个非负整数,代表前面的字符至少出现了n次;

        花括号{n, m},其中n、m是非负整数,且n <= m,代表前面的字符至少出现了n次,至多出现了m次)

  匹配(圆括号()用来定义操作符的范围和优先度,例如 gr(a|e)y等价于gray|grey,grand?father匹配grand和grandfather,H(ae?|ä)ndel和H(a|ä|ae)ndel是等价的)

元字符:https://www.runoob.com/regexp/regexp-metachar.html

 

简单实例:科学计数法正则表示:

-?\d(\.\d+)?[Ee]-?\d+

 

 

几款正则表达式在线编辑网站

https://jex.im/regulex/   Regulex是一个JavaScript正则表达式可视化工具,由纯JavaScript实现,源码托管在Github上。

 

https://rubular.com/   Rubular是一个Ruby正则表达式编辑器,由Michael Lovitt开发实现。

 

http://www.pyregex.com/     Pyregex是一个开源的Python正则表达式编辑器,开源协议为GNU General Public License v2,源码托管在Github上。

 

https://regexper.com/    Regexper是由Jeff Avallone开发的一款JavaScript正则表达式可视化工具,源码托管在Github上。它能够让正则表达式字符串以 Railroad 形式图形化,便于阅读和理解。同时推荐一款 JavaScript 正则在线测试工具——Regexpal,可以和 Regexper 配合使用。

 

https://www.debuggex.com/     

Debuggex是一个测试正则表达式的Web应用,它支持JavaScript、Python以及PCRE。

正则表达式

标签:web应用   在线   纯java   开源协议   pcr   正则   char   应用   实现   

原文地址:https://www.cnblogs.com/laphome/p/12013203.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!