Javascript 基于多个分隔符分析数组

Javascript 基于多个分隔符分析数组,javascript,parsing,pdf,Javascript,Parsing,Pdf,我需要解析以下字符串(解析PDF,希望避免使用第三方软件包) /类型/页面/媒体盒[0 0 612 792]/计数9/儿童[5 0 R 355 0 R] 我正在使用Javascript: String.split(' '); 我希望得到的输出是[ “/Type”, “/页”, “/MediaBox”, '[0 0 612 792]', “/Count”, '9', “/孩子们,”[5 0 R 355 0 R]' ] 这将产生以下输出:['您可以使用一个regex,它将返回[…]组,然后您可以用

我需要解析以下字符串(解析PDF,希望避免使用第三方软件包)

/类型/页面/媒体盒[0 0 612 792]/计数9/儿童[5 0 R 355 0 R]

我正在使用Javascript:

String.split(' ');
我希望得到的输出是[ “/Type”, “/页”, “/MediaBox”, '[0 0 612 792]', “/Count”, '9', “/孩子们,”[5 0 R 355 0 R]' ]


这将产生以下输出:['您可以使用一个regex,它将返回
[…]
组,然后您可以用
逗号
替换
空格

var s=“/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]”;
var arr|u reg=/\[(.*)(:\]\$)/g;
s=s.replace(arr_reg,函数(str){
str=str.substring(1,str.length-1);
返回“[”+str.trim().replace(//g',”)+“]”
});

log(s.split(“”))
您可以使用返回
[…]
组的正则表达式,然后可以用
逗号
替换
空格
。然后,只需按
空格
对其进行拆分即可

var s=“/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]”;
var arr|u reg=/\[(.*)(:\]\$)/g;
s=s.replace(arr_reg,函数(str){
str=str.substring(1,str.length-1);
返回“[”+str.trim().replace(//g',”)+“]”
});

log(s.split(“”))
这个正则表达式应该处理它

var input=“/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]”
var result=input.match(/(\[^\]]+\]\S+/g)

console.log(result)
这个正则表达式应该处理它

var input=“/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]”
var result=input.match(/(\[^\]]+\]\S+/g)

console.log(result)
只是一个指针,OP需要用逗号替换
[..]
中的空格,因为它简洁而简单。只是一个指针,OP需要用逗号替换
[..]
中的空格,因为它简洁而简单。谢谢,请看我编辑的问题:您能解释一下正则表达式末尾的“|$”是用来做什么的吗?@Vinod Match group,以
]
结尾,谢谢,请看我编辑的问题:您能解释一下正则表达式末尾的“|$”是用来做什么的吗?@Vinod Match group以
]
结尾您知道示例中的大多数空格都是可选的吗?这些键值对也可以写成
/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]
。你的解析想法太简单了。。。此外,中间还可能有注释行……您知道示例中的大多数空格都是可选的吗?这些键值对也可以写成
/Type/Pages/MediaBox[0 0 612 792]/Count 9/Kids[5 0 R 355 0 R]
。你的解析想法太简单了。。。此外,在…之间也可以有注释行。。。