javascript - URL 中最后一个斜杠与哈希值之间的匹配

标签 javascript regex

我试图在两个字符之间进行匹配,特别是网址的最后一部分,但仅限于最后一个斜杠 (/) 和哈希 (#) 之间。

http://example.com/path/to/thing#name

比赛应该返回

thing

我现在已经部分实现了。我可以获取 url 最后部分的整个字符串,也可以获取哈希 (#) 之前的所有内容,但不能同时获取两者。

/([^\/]*?.*(?=#))/

请查看我的regex101用于测试。

最佳答案

你已经很接近了,但仍然想得太多了。这就足够了:

/[^\/#]+(?=#|$)/

– 一系列非 /# 字符,其中下一个字符应为 #。您不需要添加括号来将其作为单独的组进行匹配,匹配本身是正确的。最后的前瞻 (?=#|$) 使其停止在中间的 # 或 URL 末尾。

参见regex101 .

关于javascript - URL 中最后一个斜杠与哈希值之间的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40293678/

相关文章:

javascript - 电话号码的正则表达式 (JS)

php - 网页上 richtextbox 的在线 html 代码生成器的建议

Javascript - 如何选择图像的一部分来改变颜色

javascript - 接口(interface)中的 TypeScript 可选函数

regex - 正则表达式匹配以 1 开头的九位数字

jquery - 正则表达式:如何通过正则表达式和 jQuery 捕获 url 的第二部分

javascript - 在 Chrome 中拖动鼠标时未触发 keydown 事件

c# - 从服务器下载文件并将其保存在客户端

R - 替换正则表达式匹配的最后一个实例以及之后的所有内容

javascript - 如何在 JavaScript 中单行多次查找工作正则表达式模式?