今天来研究一下blockly的正则表达式,听说大佬都在用!
打开blockly,找到正则表达式块:
额,/.*/g
是什么意思?
不知道。
原来如此!(锤掌)
随便试试
因为是匹配任意字符,所以原封不动的把文本丢回来了
哪如果只匹配koishi呢?
怎么写,不知道
哦哦,这样呀,只需要在//
中间填入想要匹配的文本就行,如果在最后的/
后面加上i,就可以匹配所有大小写
试一试
返回了匹配到的koishi
也就是说,正则表达式会返回匹配到的文本
那么,默认表达式/.*/g
最后的g,按照之前回答意思是全局匹配,会匹配所有符合条件的字符
那如果它匹配到多个符合条件的字符会返回什么呢?
试试
欸等下,这后面已经跟了一个i
了,还能再跟一个g
吗
哦哦,真的可以
输入的文本中有三个Koishi
所以它输出了三个Koishi,中间使用了,
相隔
并且虽然正则匹配里写的是koishi(小写),但它返回的依旧是文本中的Koishi(大写)
换一个例子试试
好,好多shigma!
等等,这个用,
相隔的样子有点眼熟,它看起来,是个列表?
马上试验一下
正确返回了列表的长度,还真是列表
所以,正则表达式返回的是一个列表,里面是所有匹配到的字符
因此,换一种更能正确表达返回内容的测试结构看看
好,那么再换一种情况,如果我想同时匹配两个文本呢?
怎么写?我哪知道啊
哦哦,|
可以表达或的意思啊
试试
所有匹配到的字符都返回了
那么,再考虑另一种情况,如果什么都没匹配到会返回什么呢?
哇哦,现有的结构直接发生未知错误了,我们换一个更原始的看看到底会是什么
是null
,所以如果什么都没匹配到,返回的会是
好了,现在我想来一些实际应用
emmmm…
看起来正则表达式还有很多写法,但我才懒得学
再试试更复杂的
好了,我已经完全明白正则表达式的用法了!
嘛,反正GPT明白就行
(不得不提的是,实际过程中GPT输出了不少错误的表达式写法,尤其是最后一个,只能说多尝试吧)