【发布时间】:2018-12-14 20:09:25
【问题描述】:
给定以下字符串:
'/a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f/g'
'/a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f/'
'/a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f'
'/a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f/g/xxx/xxx'
我正在寻找一个匹配的正则表达式
/a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f
以上所有字符串
也就是说,匹配直到该模式最后一次出现的所有内容:
{正斜杠或字符串开头} 然后 {xxx} 然后 {正斜杠} 然后 {任何不等于 xxx 的字符组(正斜杠除外)} 然后 {正斜杠或结束字符串}
我不知道如何将上述模式翻译成正则表达式。
我尝试的.*\/ 模式并没有解决问题。
【问题讨论】:
-
@WiktorStribiżew 感谢您一直以来的优秀正则表达式。我认为这不是您链接的内容的重复,因为答案包括 /。
-
@WiktorStribiżew 没关系,OP 编辑了问题并完全改变了它。
-
@SproutCoder 哪些代码/模式不适合您?您当前的标题和匹配所有内容直到最后一次出现此模式要求符合this post。如果该解决方案不适合您,请更新问题。
-
@SproutCoder 我不明白你的编辑。为什么 /a/xxx/b/c/xxx/xxx/d/e/xxx/xxx/f 完全匹配而不是 /a/xxx/b/c/xxx/xxx/d/e/xxx/xxx 因为最后/不应该包括什么?最后一个所谓的好匹配的g在哪里?它不应该只是删除 /xxx.. 部分吗?实际上不应该只删除最后一个 /xxx 吗?
-
那么,regex101.com/r/UYvZDh/6 按预期工作,对吧?
标签: javascript regex path