多语言展示
当前在线:106今日阅读:100今日分享:18

正则表达式怎么写及怎么调试

在工作中经常需要些很长的正则表达式,怎样做到边写边调试正则表达式是否正确,也给无法匹配成功时快速定位到问题所在,下面详细介绍下正则表达式怎么写及怎么调试。以/classic/send.php?ts=86 和/classic/sendmail.php?ts=21为例,写正则表达式。
工具/原料

regdebug调试工具

方法/步骤
1

先分析下这两条数据的共同点,数据的格式一样/classic/send().php?ts=数字,不同点就是第二条数据send后面多了mail这个单词,ts后面的数字不一样。

2

先介绍下正则表达式简单需要用到的:(1) .* 匹配除换行符之外的任意字符  (2)*零次或者多次匹配前面的字符或者子表达式  (3)|表示或的关系 [0-9]*取0-9的数字钟的零个或多个 (4)()去里面的值。

3

下载个正则表达式的调试工具regdebug,使用很简单,直接双击regdebug的windows批处理文件,就自动弹出两个框,一个为java运行的框,一个为调试正则表达式的框。

4

待解析的数据,直接把上面需要分析的两条数据中的一条复制到框中;正则表达式,填写自己写好的表达式;在正则表达式中使用(),为括号内的值,点击调试,可以在解析结果中看见是否匹配正确。

5

现在写正则表达。(/classic/send.*)其中.*代表后面的任意字符,主要测试下前面的是否匹配,点击调试,看看结果中是否把整个数据都表示出来。

6

send后面一个有mail一个为空,可以使用一个或的关系,继续写正则表达式(/classic/send(mail|()).*),在调试一下。

7

?是特殊字符,使用\?进行匹配,(/classic/send(mail|()).php\?.*),调试一下。

8

最后匹配ts后面的数字。使用[0-9]*进行匹配,调试一下。

9

在使用另一条数据调试下写好的正则表达式,是否正确。

推荐信息