我试图在两个字符之间进行匹配,特别是网址的最后一部分,但仅限于最后一个斜杠 (/
) 和哈希 (#
) 之间。
http://example.com/path/to/thing#name
比赛应该返回
thing
我现在已经部分实现了。我可以获取 url 最后部分的整个字符串,也可以获取哈希 (#
) 之前的所有内容,但不能同时获取两者。
/([^\/]*?.*(?=#))/
请查看我的regex101用于测试。
最佳答案
你已经很接近了,但仍然想得太多了。这就足够了:
/[^\/#]+(?=#|$)/
– 一系列非 /
或 #
字符,其中下一个字符应为 #
。您不需要添加括号来将其作为单独的组进行匹配,匹配本身是正确的。最后的前瞻 (?=#|$)
使其停止在中间的 #
或 URL 末尾。
参见regex101 .
关于javascript - URL 中最后一个斜杠与哈希值之间的匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40293678/