好不容易闲下来,研究了一下正则表达式,然后越钻越深,经过跟大神们讨论学习后,就没有然后了。总之╮(╯▽╰)╭很有用的一个东西,至少对于用户输入的读取方面会比较方便,所以就简单举例说说。 注:正则这个比较不好理解,经常容易转不过弯来,个人觉得最好的学习方式就是自己去试,举一反三,才会知道错在哪里,我尽量提供不同种类同样用法的例子方便理解。
正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。(好吧,这是百度来的) 简单来说就是按照一定想法获取与替换字符串。想怎么换就怎么换(真的( ⊙o⊙ )?)
日常运用的时候,会遇到的情况比如某段话里带有关键字,多个关键字等 “日常大战xxx来治疗”,“收xxx,带价密” 这时候捕获这些字符串下来进行分析与记录,让你不至于错过某些不应该错过的,或者说自动密那个人预定位置什么的……嗯,好像扯远了,那是插件,今天只说lua。
元字符 | 描述 | . | 匹配任意字符,包括中文、字母、数字、符号等 | % | 特殊符号转义,例如:%.为匹配点,%%为匹配百分比符号,跟“\”用来转义引号是一样的 | %a | alphabet,匹配字母,大小写都匹配,%A为匹配除字母外其他字符 | %b | bisymmetric,匹配对称字符,%bxy,x为开始匹配字符,y为结束匹配字符,xy可随意指定。例如:%b<>为匹配包括<>在内的所有字符 | %c | control character,匹配控制字符,详见百度,%C为匹配除控制字符外其他字符 | %d | digit,匹配数字,0到9,%D为匹配除数字外其他字符 | %l | lower case,匹配小写字母a-z,%L为匹配小写字母外其他字符 | %p | punctuation,匹配标点符号,%P为匹配标点符号外其他字符 | %s | space,匹配空白符号,包括\t(tab键四格空白),\n(新行的标示),\r(换行的标示),%S为匹配空白符号外其他字符 | %u | upper case,匹配大写字母A-Z,%U为匹配大写字母外其他字符 | %w | words,匹配字母和数字,%W为匹配字母和数字外其他字符 | %x | hex,匹配十六进制数字,%X为匹配十六进制数字外其他字符 | %z | zero,匹配代表0的字符,%Z为匹配0字符外其他字符 | () | 匹配与返回括号内的内容,例如:123(.+),匹配与返回带有123字样后续内容。详见下 | [] | 自定义匹配字符集,例如:[a-z0-9,%.]匹配a到z以及0-9还有逗号,百分比号跟点,[^a-z0-9,%.]匹配除字符集以外的其他字符 | + | 匹配前一字符1次或多次,常用于连贯性字符,例如:%a+ 以单词为单位匹配 | * | 匹配前一字符0次或多次,最长匹配,常用于匹配空白符,例如%s*,将会匹配字符串内所有单个或者连贯空格 | - | 匹配前一字符0次或多次,最短匹配,在进行所有字符匹配时匹配最短,例如:|123|456|,用|(.*)|则会返回123|456,而|(.-)|则只返回123 | ? | 匹配前一字符0次或1次,例如:匹配正负数字,因为正数不带负号 | ^ | 匹配开头,例如:^%d+为以数字开头的匹配,可与匹配结尾一同使用 | $ | 匹配结尾,例如:%d+$为以数字开头的结尾,可与匹配开头一同使用 |
|