正则式工具RegexBuddy学习使用

前端之家收集整理的这篇文章主要介绍了正则式工具RegexBuddy学习使用前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
基本界面

正则式的基本功能无外乎搜索和替换。在本文中,我们使用匹配Email的正则式,代码如下:

  
  
\b[A - Z0 - 9 ._ %- ] + @[A - Z0 - 9 . - ] + \.[A - Z]{ 2 , 4 }\b

此时,RegexBuddy的界面如图:

在点击“Explain Token”时,能对当前的正则式片断的作用作出详细解释,例如当你把光标移动到\b上再点击Explain Token,就会激活帮助文档,自动定位到Word Boundaries这一段。

如果想对刚才编写的这条正则式进行测试和验证,可以点击“Test”进行测试。这时,在下边的文本框输入所需要匹配测试的文字,例如dog@animals.com,匹配结果就以黄色背景色标出。在本例中,你或许没有得到正确的匹配,呵呵,那是正常的。为什么?答案见文章结尾。

拷贝粘贴

@H_403_68@RegexBuddy能把正则式以多种字符串格式拷贝出来。还是刚才那条正则式,根据需要,它可以被拷贝为:

@H_403_68@

  
  
' \\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b ' " \\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b " ' /\\b[A-Z0-9._%-]+@[A-Z0-9.-]+\\.[A-Z]{2,4}\\b/i '

具体的选项在copy菜单里,如下图所示。你不必为单双引号、正反斜线操心了。

在paste菜单项中也有类似应用,不赘述。

正则式->代码

如果你想把刚才编写好的正则式应用在程序中,这里还有一个选项:Use,界面见下图:

@H_403_68@在上面的match和replace之间点击,其代码也相应自动调整;当选取不同的language时,代码也会相应调整。它支持的语言格式为:C# 、Delphi(NET/Win32) 、Java/JavaScript/ECMAScript、PCRE、PHP、Perl、Python、RealBasic、Ruby、VB

@H_403_68@另外,它还有function选项,分别用以实现下述功能

@H_403_68@If/else branch whethe the regex matches (part of) a string. If/else验证正则式是否匹配字串(的一部分)。 最常用的功能

@H_403_68@If/else branch whethe the regex matches a string entirely. If/else验证正则式是否匹配整条字串。

@H_403_68@Get the part of a string matched by the regex. 取得字串中与正则式匹配的部分。Get the part of a string matched by a capturing group. 取得字串中所匹配的捕获组。这一条我也是刚刚知道,很有用哟。

@H_403_68@Get an array of all regex matches in a string.将字串中所有的匹配保存到数组中。

@H_403_68@Iterate over all matches in a string。列出字串中所有的匹配项。(例如,在使用正则式’\w’来匹配字串’abc’时,本function列出的内容为’a',’b',’c’.)。单词iterate的含义是重复。

@H_403_68@Comment with RegexBuddy’s regex tree. RegexBuddy的正则树的注释。

文本分割split

@H_403_68@如果需要处理的文本是以某种分隔符隔开的,而该种分隔符恰好又能使用正则式描述,(例如html标签),此时regexbuddy的split功能就可以大显身手了。我随便打开了一个饭否网页,对其源代码中的消息部分(<div id=“stream”>与</div>之内)的文本进行了处理,使用如下正则式删除了所有的尖括号内容,只留下普通文本。

使用的正则式为:

  
  
< [ ^> ] +>
@H_403_68@软件界面以及运行结果请见下图。

@H_403_68@

结尾:

@H_403_68@关于本文开头提出的小问题,细心的你或许一下子就能看出答案了!见下图:

@H_403_68@

@H_403_68@只要选中Case insensitive选项中OK啦!如果你没有找到,或许是因为该软件是英文的,一时间您没有注意到该选项;或者您对正则式还不太熟悉。

猜你在找的正则表达式相关文章