我有一个字符串
var str="java+script+regex";
现在我想只在+
出现在单词java之后才用+
符号拆分正则表达式。
所以当我尝试
时str.split(/java(\+)/)
然后它使用java +拆分字符串。那我怎么能用+
拆分它,后面是字java得到结果["java","script+regex"]
答案 0 :(得分:3)
您可以使用拆分捕获:
"java+script+regex".split(/(java)\+/)
给你
["", "java", "script+regex"]
或match
:
"java+script+regex".match(/(java)(?:\+)(.+)/).slice(1)
["java", "script+regex"]
或replace
:
"java+script+regex+java+chrome".replace(/(java)\+/g, "$1@").split("@")
["java", "script+regex+java", "chrome"]
This post显示了在javascript中模拟lookbehinds的不同方法。
答案 1 :(得分:1)
只需这样做
var n=(" "+str).split(/(?=java[+])/)
.join("java")
.split(/java[+]/);