很多新手朋友通过看了一些教程,总感觉一学就会,一到自己实际操作就废,总会出现这样那样的原因导致无法匹配到目标,归根结底还是正则表达式不明白。
正则表达式定义
正则表达式,计算机科学的一个概念。通常被用来检索、替换某些文本。
是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
正则表达式目的
通过一个正则表达式和另一个字符串,我们可以达到如下的目的:
1. 给定的字符串是否符合正则表达式的过滤逻辑(也就是我们常说的“匹配”)。
2. 可以通过正则表达式,从字符串中获取我们想要的特定部分。
Thor常用的正则表达式
我们在制作规则的时候无可避免,必须要使用正则表达式,相信手机前的你也搜索学习过正则表达式,但是网站上的内容你是不是发懵,感觉看不懂,其实我们在thor里用不到那些复杂的正则表达式,今天眼镜叔告诉你几个正则表达式,简单易懂,学会了就能满足你制作规则的要求。
- 常用简单型
- \d
匹配单个数字。
- \d+
这是\d的升级版,后面带了个+,记住+是表示贪婪,更多的。表示匹配多个数字,即便这图里是8888888888,用一个\d+也能匹配到。
- \d{1} 数字可自定义
这个可以精准到几位数,比如{}里是10,那就表示匹配10位数字,通常用于匹配时间戳,如果是13位的时间戳,那{}里就得改成13,也就是说\d{}比较精准一些。
- 匹配全部
- .+
- \S+
- . 点
符号 . 用来匹配除换行符以外的任意一个字符
- \s注意是小写
小写\s匹配任意空白字符,大写\S匹配一个符号或字母或数字。
- \w注意是小写
小写\w匹配一个字母或数字或下划线或汉字。可以发现这个命令涵盖比较广,所以不适合我们平时使用。大写\W匹配一个常见的符号,注意区分\S和\W的区别。
- 匹配汉字[\u4ef00-\u9f5a]
[\u4ef00-u9f5a]是表示匹配一个汉字,这个符号其实就是ASCII编码后的字符,匹配多个的话就启用贪婪模式,后面带一个+,其实还可以用小写的\w。
不常用的正则表达式
- 转义符 \
这个符号必须特殊交代下,转义符。在正则表达式里(),+,=,\,$,[,*,^,?,&,<>,!,{。这些都是命令的意思,你单独是无法匹配的,这就必须加上转义符,使它们转换文本,才能匹配。
- [ ]包含的意思
- [^]不包含
我们匹配memberExpire”:以后的内容,但是不包括},那就可以试试下图的正则。
- | 或者的意思
我们有时候可能会遇到”vip”:的值有时候是正数,有时候是负数,你单纯地用”vip”:\d就不能匹配到-1,那么如何通用匹配呢?这里就用|,这样的话无论vip的值是1还是-1都能匹配的到。
总结
以上就是眼镜叔分享的一些简单的正则表达式使用方法,学会这些,完全能满足你的日常需求。
评论前必须登录!
立即登录 注册