正则表达式,用于查找一个术语之后和另一个术语之前的单词
regular expression to find word after a term and before another term
当前url为
search/warrington/st-album/title/3
我需要在st-
之后得到值,而在/
之后什么都不需要。所以在这个例子中,我只想返回album
。
我使用下面的表达式
var patt= new RegExp((?=/st-(.*?/)));
return patt.exec(url)[1];
但是,它返回album/
有人能告诉我在上面的例子中after和before的正确表达吗?即只返回album
而不返回album/
。
new RegExp((?=/st-(.*?/)));
实际上应该抛出语法错误。
无论如何,为了防止/
出现在捕获组中,请将其移动到组外(使用regex文字):
var patt = /(?='/st-(.*?)'/)/;
我认为不需要前瞻性,您可以使用否定字符类来代替懒惰的量词:
var patt = /'/st-([^/]+)/;
您的斜杠位于错误的位置:
var patt= new RegExp((?=/st-(.*?)/));
return patt.exec(url)[1];
您需要将它移到组外,这样它就不会包含在匹配数组中。
var expr = "search/warrington/st-album/title/3";
var regex = new RegExp( /'/st-(.*?)'// );
return regex.exec(expr)[1];
它应该工作
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 在chrome.tabs.onCreated之后加载HTML页面
- 在Jquery detachment()和appendTo()之后定位元素
- AngularJS:ng之后,重复$scope值未按预期更新
- 为什么元素的宽度在页面加载之后和那一刻之后不同
- 没有在Angular应用程序中定义firebase(在firebase迁移之后)
- Javascript复选框函数:;缺少:在属性id之后"
- 在刚刚调用的append函数之后,jquery.height()不会返回实际值
- 正在链接添加了以下内容::在之后
- JQuery hide()在show()之后不起作用,反之亦然
- 未执行Ajax循环的Javascript之后的代码
- 如何在`window.open`之后执行回调
- 如何在一个元素动画之后延迟
- 在XMLHttpRequest之后重新初始化jQuery
- <text区域>在我的html中包含event.keycode==13之后,wrap就不起作用了
- 在jAlert之后设置焦点
- 在Javascript中的ajax响应之后未调用Dropdown事件
- web浏览器中的离线应用程序存储数据并在之后上传
- 错误“;未处理'错误'事件“;在运行yo发电机之后
- 正则表达式,用于查找一个术语之后和另一个术语之前的单词