1.6.1 Members................................................................ 12
1.6.2 Accessibility.......................................................... 13
1.6.3 Type parameters........................................................ 13
1.6.4 The T generic type aka <T>............................................. 13
我需要创建JS对象:
{
num:"1.6.1",
txt:"Members"
},
{
num:"1.6.2",
txt:"Accessibility"
} ...
这不是问题。
问题在于我想通过正则表达式并使用正向预查来提取值:
通过第一次看到下一个字符为字母进行分割
我尝试过的方法:
'1.6.1 Members........... 12'.split(/\s(?=(?:[\w\. ])+$)/i)
这个工作正常运行:
["1.6.1", "Members...........", "12"] // I don't care about the 12.
但如果我有两个或更多的单词:
'1.6.3 Type parameters................ 13'.split(/\s(?=(?:[\w\. ])+$)/i)
结果为:
["1.6.3", "类型参数................", "13"]
//我不在意13。
当然,我可以将它们拼接在一起,但我希望单词能在一起。
问题:
如何改进我的正则表达式以避免拆分单词?
期望的结果:
["1.6.3", "类型参数"]
或
["1.6.3", "类型参数........"]
//稍后我会删除多余的内容
或
["1.6.3", "类型参数........13"]
//稍后我会删除多余的内容
NB
我知道我可以通过空格或其他更简单的方法进行拆分,但出于纯粹的知识追求,我正在寻求改进我的解决方案使用正向先行拆分。
nb2:
文本中间可能包含大写字母。