事半功倍在线调试正则表达式

2019-10-30 03:43平淡
电脑爱好者 2019年9期
关键词:文本框字符串字符

平淡

正则表达式翻譯家——Regexl01.com

正则表达式是一串描述文本规则的代码。对于一些比较复杂的代码,我们在书写或者给新手们讲解时需要花费大量的时间去解释,现在借助Regexl01.com的在线服务,无论多么复杂的表达式都可以实现“在线翻译”。

在浏览器中打开https://regex101.com,按提示先选择对应的编程语言,然后在上方的文本框中输入正则表达式,比如勾选Python语法,输入“cfan@cfan\.com\.cn”这个正则表达式,可以看到网站会自动识别语法中的“转义符(\)”,在右侧窗格中可以看到该语法的解释,这段语法的意思是提取指定字符串中的指定字符“cfan@cfan.com.cn”(图2)。

在下方的“Test string”中可以输入字符串进行测试,比如输入“fjkgsdggcfan@cfan.com.cnkfdsjupesjgsr“,就可以看到符合要求的字符被高亮显示,这表示我们输入的正则表达式是没有错误的(图3)。

如果输入错误语法,那么错误部分会被高亮红色显示,方便我们快速找到错误。我们还可以点击其他语言,看看在其他语言下的语法代码是怎样的(图4)。

中文化注释——Tool.lu

上述网站都是使用英文方式解释代码的,对于很多新手来说,还可以使用https://tool.lu/regex提供的中文在线工具进行测试。打开上述网站,选择需要的中文正则表达式,代码会自动在代码框中显示,当我们在下方的文本框中输入测试字符串时,符合正则表达式的字符就会被高亮标注(图5)。

对于测试没有错误的正则表达式,点击“生成程序代码”,在弹出的窗口中将直接生成JS、PHP等常见的代码,这些代码可以直接部署到网站中使用(图6)。

图形化注释-Debuggex.com

对于比较复杂的正则表达式语法,我们构造和解读起来都比较不便。Debuggex.com则将代码使用可视化的方式进行分解,方便我们对语法进行解读。

打开上述网站后,在代码框输入正则表达式语法,比如输入“\w[-\w.+]“@([A—Za—z0—9”A—Za—z0—9]+\.)+[A—Za—z]{2,14)”(匹配邮箱语法),可以看到网站会将其分解为三部分,当我们在字符串文本框中输入符合的文本时,会自动被标记为高亮显示。选中测试文本还可以看到其对应的代码位置,这样通过可视化的分段解读,让我们更方便地了解正则表达式的,语法(图7)。

上面我们了解了关于正则表达式语法的知识,其实很多正则语法都可以应用在我们常见的软件中。比如在整理Word文档时,如果需要把“HT#”这种格式文本替换成“${HT)”,那么我们可以先将查找规则定为“([A—Z]{2})(#)”,替换规则定为“${\1}”,先在上述网站测试,确认可以选择到符合条件的字符后,在Word查找和替换中输入上述正则表达式,就可以实现替换了(图8)。

猜你喜欢
文本框字符串字符
字符代表几
一种USB接口字符液晶控制器设计
消失的殖民村庄和神秘字符
一种新的基于对称性的字符串相似性处理算法
依据字符串匹配的中文分词模型研究
文本框在地理课件中的应用
一种针对Java中字符串的内存管理方案