2016 - 2024

感恩一路有你

易语言正则表达式中的其他提示

浏览量:3507 时间:2024-07-12 18:15:10 作者:采采

如果想要了解高级的正则引擎还支持那些复杂的正则语法,可参见网上关于 DEELX 正则引擎的说明文档。

匹配整个字符串

如果要求表达式所匹配的内容是整个字符串,而不是从字符串中找一部分,那么可以在表达式的首尾使用 "^" 和 "$",比如:"^d$" 要求整个字符串只有数字。

匹配完整单词

如果要求匹配的内容是一个完整的单词,而不会是单词的一部分,那么在表达式首尾使用 "",比如:使用 "(if|while|else|void|int...)" 来匹配程序中的关键字。

避免匹配空字符串

表达式不要匹配空字符串。否则会一直得到匹配成功,而结果什么都没有匹配到。比如:准备写一个匹配 "123"、"123."、"123.5"、".5" 这几种形式的表达式时,整数、小数点、小数数字都可以省略,但是不要将表达式写成:"d*.?d*",因为如果什么都没有,这个表达式也可以匹配成功。更好的写法是:"d .?d*|.d "。

避免无限循环

能匹配空字符串的子匹配不要循环无限次。如果括号内的子表达式中的每一部分都可以匹配 0 次,而这个括号整体又可以匹配无限次,那么情况可能比上一条所说的更严重,匹配过程中可能死循环。虽然现在有些正则表达式引擎已经通过办法避免了这种情况出现死循环了,比如 .NET 的正则表达式,但是我们仍然应该尽量避免出现这种情况。如果我们在写表达式时遇到了死循环,也可以从这一点入手,查找一下是否是本条所说的原因。

合理选择贪婪模式与非贪婪模式

合理选择贪婪模式与非贪婪模式或 "|" 的左右两边,对某个字符最好只有一边可以匹配,这样,不会因为 "|" 两边的表达式因为交换位置而有所不同。

新易语言正则表达式的高级使用技巧

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。