我有一个字符串
var str="java+script+regex";
现在我只想在单词 java 之后按+
符号拆分正则表达式。+
所以当我尝试
str.split(/java(\+)/)
然后它使用java +拆分字符串。那么我如何使用+
java获取结果之后的which来拆分它["java","script+regex"]
我有一个字符串
var str="java+script+regex";
现在我只想在单词 java 之后按+
符号拆分正则表达式。+
所以当我尝试
str.split(/java(\+)/)
然后它使用java +拆分字符串。那么我如何使用+
java获取结果之后的which来拆分它["java","script+regex"]
您可以使用拆分捕获:
"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"]
这篇文章展示了在 javascript 中模拟lookbehinds 的不同方法。
只需这样做
var n=(" "+str).split(/(?=java[+])/)
.join("java")
.split(/java[+]/);