• 进群密钥:www.lolichan.vip

QRSpeed-第9课时-第九节-正则表达式

xiwangly

活捉一只老RBQ
管理成员
2020/02/27
95
72
18
在前面的QRSpeed-第3课时-第三节-判断语句学习中,我们知道了正则表达式可以参与判断,

概念:
正则表达式,又称规则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。
许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。
——摘自百度百科-正则表达式

正则表达式在线测试的一些网站(部分):
OSChina
菜鸟工具
SOJSON
OKTools
在线工具
脚本之家在线工具
php中文网
W3Cschool

如果你想要更多关键词能触发同一个内容,你可以这样写,如(回复"你好"或"hello"都会触发回复):
代码:
你好|hello
Hello World
或者
代码:
(你好|hello)
Hello World
还可以
代码:
(你好)|(hello)
Hello World
这三种都可以触发回复"Hello World",而且简繁程度都不一样,他们的作用也可以不同(并不是复杂的就能弃用了,在某些时候这些复杂的有特殊用途)。

如果你要忽略前面的空格触发,如:
代码:
执行 ?(.*)
a:$执行 %括号1%$
%a%
这样回复(示例):"执行%QQ%"或"执行 %QQ%"都可触发回复

如果你想要满足更多判断条件才能触发一个内容,你可以这样写,如:
代码:
if
如果:%QQ%==%主人%&%时间yyyy%==2020
true
返回
如果尾
false
或者
代码:
if
如果:%主人%==%QQ%&2020==%时间yyyy%
true
返回
如果尾
false
还可以
代码:
if
如果:2020==%时间yyyy%&%QQ%==%主人%
true
返回
如果尾
false
还可以是
代码:
if
如果:2020!=%时间yyyy%&%QQ%!=%主人%
false
返回
如果尾
true
由此可见,要达到同一个或多个判断条件触发同一个内容有多种方法,且等号两边及逻辑可以互换。......

如果你想让关键词模糊匹配,你可以尝试这样做:
代码:
.*你好.*
你好啊
(你好左右两边输入任何东西都可以,换行除外及部分特殊字符除外,如"某某你好啊")
或者
代码:
.*你好
你好啊
(仅在你好左边输入任何东西都可以,换行除外及部分特殊字符除外,如"某某你好")
代码:
你好.*
你好啊
(仅在你好右边输入任何东西都可以,换行除外及部分特殊字符除外,如"你好啊")
同时还可以嵌套其他的语句,如:
代码:
.*你好.*|.*hello.*
你好啊
代码:
.*(你好|hello).*
你好啊

正则表达式元字符
详细见正则表达式-元字符-菜鸟教程

正则表达式断言方法
见参考。

参考:(重点和拓展都在这里了)
正则表达式-菜鸟教程
正则表达式-百度百科
正则表达式-JavaScript-MDN
正则表达式-W3Cschool
正则表达式-廖雪峰的官方网站
正则表达式30分钟入门教程-脚本之家
正则表达式-_冷月心-CSDN
正则表达式手册-OSChina
php正则表达式完全教程之精华篇-MSCTO
PHP正则表达式,看这一篇就够了-C语言中文网
正则表达式目录(常用)-anneCoder-CSDN
正则基础之——反向引用-石 磊-博客园
php的正则表达式-php教程-php中文网
learn regex zh-GitHub

翻页:
上一节


知识共享许可协议 (CC BY-NC-ND 4.0)
本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。
 
最后编辑: