修改以下正则表达式,使其在URL末尾包含斜杠
Modifying the following regex to include a slash at the end of the URL
以下正则表达式匹配URL中的最后一个单词:
var match = (location.search.match(/('w+)$/))
? location.search.match(/('w+)$/)[0]
: "";
问题是,有时URL看起来像这个www.mysite.com/match-last-word/
,所以word
不匹配,因为末尾有斜杠。
我试过这个:
var match = (location.search.match(/('w+)$'/*/))
? location.search.match(/('w+)$'/*/)[0]
: "";
但没用。
试试这个:
var match = (location.search.match(/('w+|'w+'/)$/))
? location.search.match(/('w+|'w+'/)$/))[0]
: "";
在最后添加模式'W*
以匹配零个或多个非单词字符。
'b('w+)'W*$
或
'b'w+(?='W*$)
(?='W*$)
正向前瞻断言,该断言断言匹配'w+
后面必须跟有'W*
、零个或多个非字字符,并且后面还要跟有行尾。
示例:
> var s = "www.mysite.com/match-last-word/"
undefined
> s.match(/'b'w+(?='W*$)/)[0]
'word'
location.search
为您提供url的查询参数。如果url是example.com/whatever/?q=123&name=something
,那么location.search将在问号之后为您提供所有信息。然而,如果url类似于example.com/whatever/
,那么location.search根本不会给你任何信息。所以当你做location.search.match()
时,你在寻找一些不存在的东西。
如果您想可靠地找到路径名中的最后一个单词(例如.com/asdf/targetwood),请使用以下方法:location.pathname.match(/[^'/]+($|(?='/$))/i)[0]
基本上,它在url路径中查找最后一组非斜杠字符。
如果它是连字符的,这也是有效的。例如,example.com/asdf/longer-title/
将为您提供longer-title
。
您试图在$
(在本例中表示主题结束)之后匹配,而您应该在之前匹配:
location.search.match(/('w+)'/?$/)
我已经将匹配设置为可选,这样它就可以匹配带有或不带有尾部斜杠的匹配。查找匹配的单词:
location.search.match(/('w+)'/?$/)[1];
示例:
> '?text=word/'.match(/('w+)'/$/)
["word/", "word"]
您尝试的操作不起作用,因为$代表行的末尾,所以您不能有/AFTER。如果您通过将/*移动到$之前来更正它,它应该按照您尝试的方式工作:
var match = (location.search.match(/('w+)'/*$/))
? location.search.match(/('w+)'/*$/)[0]
: "";
- 如果当前url包含某些内容,请采取措施
- 如果 URL 包含使用 JavaScript 重定向的特定端口
- 修改以下正则表达式,使其在URL末尾包含斜杠
- 如果URL包含字符串don't运行jQuery函数
- 当 URL 包含“#”时,jQuery Document 就绪失败
- Javascript - 如果 url 包含 X,请忽略脚本,否则运行脚本
- 在 JW 播放器开始之前不显示图像,如果 URL 包含字符串 base64
- j查询触发器单击如果 URL 包含参数
- 获取 window.location.href 以返回页面名称和扩展名(如果 URL 以 / 斜杠结尾)
- 访问javascript对象中包含斜杠的属性名称
- Angular2路由.在url末尾斜杠
- 如果当前url包含,JS将用户重定向到不同的页面
- 动态链接URL包含声音管理器2要播放的wav文件的位置
- 如果URL包含“;default.aspx”;单击
- 当我的重定向URL包含唯一的用户ID时,我如何使用OneDrive Web选取器
- jquery:如果url包含字符串x,则更改特定标签的背景颜色
- 类似route的嵌套文件夹(包含斜杠)
- 如果URL包含关键字,并且(同时)不包含其他关键字,则使用jQuery来包含HTML元素
- Javascript if语句如果url包含子字符串
- 替换URL中斜杠之后的所有内容