匹配不带查询字符串的 URL 路径
Match Url path without query string
我想匹配 URL 中的路径,但忽略查询字符串。正则表达式应在查询字符串之前包含一个可选的尾部斜杠。
应提供有效匹配的示例网址:
/path/?a=123&b=123
/path?a=123&b=123
因此,字符串"/path"应与上述任一 url 匹配。
我尝试了以下正则表达式:(/path[^?]+).*
但这只会匹配类似于上面第一个示例的网址:/path/?a=123&b=123
知道我将如何让它在没有尾部斜杠的情况下与第二个示例匹配吗?
正则表达式是一项要求。
不需要正则表达式:
url.split("?")[0];
如果你真的需要它,那么试试这个:
'/path'?*.*
编辑 实际上最精确的正则表达式应该是:
^('/path)('/?'?{0}|'/?'?{1}.*)$
因为您想匹配/path
或/path/
或/path?something
或/path/?something
,仅此而已。请注意,?
表示"最多一个",而'?
表示问号。
顺便说一句:哪种路由库不处理查询字符串?我建议使用其他东西。
http://jsfiddle.net/bJcX3/
var re = /('/?[^?]*?)'?.*/;
var p1 = "/path/to/something/?a=123&b=123";
var p2 = "/path/to/something/else?a=123&b=123";
var p1_matches = p1.match(re);
var p2_matches = p2.match(re);
document.write(p1_matches[1] + "<br>");
document.write(p2_matches[1] + "<br>");
相关文章:
- Ajax URL路径未替换当前URL
- javascript window.location在检查firebug时给了我一个错误的url路径
- 在angularjs中动态路由url路径
- 来自URL的Regex URL路径
- 在相对于用户当前 URL 路径的不同路径中设置 Cookie
- 是否存在用于解析 URL 路径段(矩阵)参数的 JavaScript 库
- 我可以使用URL路径提交参数吗
- 将URL路径与<a>attr('href')来动态更新.active类
- 重定向Javascript中包含的URL路径
- 增加/减少 URL 路径名单击
- AngularJS hashbang模式复制URL路径
- 无法使用angular中的$location服务更改URL路径
- 如何从php或node.js获取websocket url路径
- 如何对“.”进行编码以在 URL 路径中使用
- 匹配不带查询字符串的 URL 路径
- 如何根据 URL 路径添加 CSS 类
- history.pushstate如何允许嵌套URL路径的单一入口点
- jQuery做一些取决于url路径的事情
- 使用正则表达式提取 url 路径
- Angular js显示基于所选项目和url路径的名称