之前在其他地方看到一个很有意思的正则,至今还是没看懂,
需求:将一个字符串按3位数为1组切割
比如"a ...
这个从内到外比较好理解,首先(?:...)表示取3个字符作为非捕获组,因为split的正则中如果有捕获组(可以理解为这个地方本来是括号),捕获结果会被额外加到最终分割数组中;^(?:...)*类似于/.../g的效果,因为还有别的部分这里写成这样;最后在外面套一个?<=,就跟上面解释过的一个道理了,取紧跟在3个字符后面的那个空字符,作为位置传给split,与上面replace的例子相似。match的话可以写得更简单一点,/.{1,3}/g即可,因为正则的贪婪属性,1到3个字符会尽可能取3个。 !(data/attachment/forum/202310/08/083114clw1ffn41n5014la.png)
页:
1
[2]