regex - 正则表达式 - 在最后一个 / 之后获取字符串,如果该字符串包含某些内容(用户输入)
问题描述
示例字符串:
storage/emulated/0/DCIM/Pictures/dog.jpeg (should be included)
storage/emulated/0/Vacation/Pictures/a-picture.jpg (shouldn't be included)
storage/emulated/0/Vacation/Pictures/mydog.jpg (should be included)
用户输入示例:
狗
(用户输入不能包含 /、\n、\r、\t、\0、\f、`、?、*、\、<、>、|、"、:、%)
我需要一个正则表达式来检查最后一个字符串是否/
包含用户输入。
我知道在最后一个/
完成之后获取字符串
([^/]+$)
但遗憾的是,我对正则表达式一无所知,即使是我在互联网上找到的。有没有人可以帮忙?
解决方案
你可以使用这个正则表达式:
\S*/([^/\s]*dog\b\S*)
正则表达式详细信息:
\S*/
: 匹配最长的匹配在最后一个之前/
。\S
匹配任何非空白字符(
: 开始捕获组[^/\s]*
: 匹配 0 个或多个/
非空格字符dog\b
: 匹配dog
以单词边界结尾的文本\S*
: 匹配剩余的字符串直到结束
)
: 捕获组
推荐阅读
- javascript - 带有自定义标记和图标调整大小的 vue2-google-maps 出现问题,在缩小时放错了位置
- python - PyQt5 - 我可以在标签中文本的不同部分使用不同的字体大小吗?
- android - 有没有办法在不显示的情况下开始活动?
- asp.net-mvc - 关于 ASP.NET MVC 中的 RedirectToAction()
- javascript - 如何在视图上呈现数据而无需在 Angular 9 中刷新页面?
- javascript - Safari 显示不正确的图像方向但在 Chrome 上正确
- javascript - 如何使用 JavaScript 处理复杂的 100 位 (+/-) 乘以 100 位 (+/-) 的乘法,而不会出现溢出错误?
- python - 做 my_list = list(filter(None, my_list)) 的目的是什么
- django - WebSocket 连接到“wss://api-such.andsuch.xyz/graphql/”失败:WebSocket 握手期间出错:意外响应代码:400
- android - 我应该为 Android WebView 启用 3rd 方 cookie 吗?