当前网址为
search/warrington/st-album/title/3
我需要获取 st-
之后的值,而 /
之后没有任何内容。因此,在这种情况下,我只想返回album
。
我正在使用下面的表达式
var patt= new RegExp((?=/st-(.*?/)));
return patt.exec(url)[1];
这会返回album/
有人可以告诉我上面实例中 after 和 before 的正确表达吗? IE。仅返回 album
而不是 album/
。
最佳答案
new RegExp((?=/st-(.*?/)));
实际上应该抛出语法错误。
无论如何,为了防止 /
出现在捕获组中,请将其移到该组之外(使用正则表达式文字):
var patt = /(?=\/st-(.*?)\/)/;
我认为不需要前瞻,您可以使用否定字符类而不是惰性量词:
var patt = /\/st-([^/]+)/;
关于javascript - 正则表达式用于查找一个术语之后和另一个术语之前的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17516497/