如何分隔字符串中的不同字符集?例如,如果我有这些字符集:
[a-z]
[A-Z]
[0-9]
[\s]
{everything else}
这个输入:
thisISaTEST***1234pie
然后我想分隔不同的字符集,例如,如果我使用换行符作为分隔符:
this
IS
a
TEST
***
1234
pie
我已经尝试过这个正则表达式,具有积极的前瞻性:
'thisISaTEST***1234pie'.gsub(/(?=[a-z]+|[A-Z]+|[0-9]+|[\s]+)/, "\n")
但显然+
s 并没有贪心,因为我得到:
t
h
# (snip)...
S
T***
1
# (snip)...
e
我剪掉了不相关的部分,但正如你所看到的,每个字符都算作它自己的字符集,除了{everything else}
字符集。
我怎样才能做到这一点?它不一定必须是正则表达式。将它们拆分成一个数组也可以。