【发布时间】:2017-02-27 22:56:02
【问题描述】:
我有这个数据:
/some test/ -> next data
prev<-/now/->/how about this/
asd<-/rege\/x/
/\/\//
/\\/
/^\d+$/ <- /\./
/\./ -> /\d/
我想拆分它的信息令牌\w+|/.*?/、<-、-> 但-> 和<- 不能出现在/here/ 中
我试过this,但在这种情况下失败了/\/\//。
const data = `/some test/ -> next data
prev<-/now/->/how about this/
asd<-/rege\/x/
/\/\//
/\\/
/^\d+$/ <- /\./
/\./ -> /\d/`
console.log(data.split(/\s*(\w+|\/.*?\/\B)\s*/).filter(x => x != ""))
我应该在我的正则表达式中做什么来涵盖这部分?
【问题讨论】:
-
@WiktorStribiżew 这就是我想要的,非常感谢:)
-
我想你可以使用任何方法来逃避,但你会看不到分隔符的开始位置。没有它,您的令牌将转移https://regex101.com/r/EK8Yun/4。并且总的解析是没有意义的......虽然解析 Perl
$v =~ \//x/;是一个错误。 -
其实
$v =~ \//x\/;应该抛出,因为这里没有有效的token,只允许/^\w+$/、'<-'、'->'和/^\/.*?\/$/
标签: javascript arrays regex