【发布时间】:2013-08-29 13:53:59
【问题描述】:
如何分隔字符串中的不同字符集?例如,如果我有这些字符集:
[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} 字符集除外。
我该怎么做?它不一定必须是正则表达式。将它们拆分成一个数组也可以。
【问题讨论】:
-
(抱歉标题太糟糕了;我想不出更好的了。如果你明白我想要什么,请进行编辑,你可以想出一个更好的。
:))