Regex 可选尾部斜杠的正则表达式匹配
我正在尝试匹配:Regex 可选尾部斜杠的正则表达式匹配,regex,Regex,我正在尝试匹配: /app /应用程序/ /应用程序/** 但不是: /app** 尾随斜杠应该是可选的。我不能完全让它工作 ^/app/([^/]*)/?匹配/app/和/app/**,但不匹配/app,这将起作用: ^/app(/[^/]*)? 编辑: 这也将有助于: ^/app(/.*)? 你试过这个吗: ^/app(/[^/]+)*/? 我不确定**这件事,但你真的需要这样的东西吗 ^/app/?(/[^/]+)*/?$ 试试这个: ^\/app((\/\w+)
/app
/应用程序/
/应用程序/**
但不是:
/app**
尾随斜杠应该是可选的。我不能完全让它工作
^/app/([^/]*)/?
匹配/app/
和/app/**
,但不匹配/app
,这将起作用:
^/app(/[^/]*)?
编辑:
这也将有助于:
^/app(/.*)?
你试过这个吗:
^/app(/[^/]+)*/?
我不确定**这件事,但你真的需要这样的东西吗
^/app/?(/[^/]+)*/?$
试试这个:
^\/app((\/\w+)+|\/?)$
匹配以下所有选项
/app1
或/app1/
或/app1/无论什么
/app2
或/app2/
或/app2/无论什么
^/app(?:/(.*))?$
将匹配/app
或/app/
或/app/无论什么
立即在生产中使用此功能:
^/app(?:/(.*))?$
^\/app((\/.*$)|$)
下面是一个关于RegExr的例子
谢谢你,但这仍然符合/app**。我想精确匹配/app、/app/或/app/任何内容**。我很难理解“这里你必须有一个/或结束”的正则表达式。这里是什么?一些随机字符或两个连续的*?任意随机字符。很抱歉没有说明。那么/app和/application有什么不同呢????或者“/app”部分是固定值?固定值。我必须为/app、/app/或/app/任何***路由到同一个地方。但是/application完全是另一回事。
**
意味着像/app/**
中的任何路径都可以是/app/a/path/to/something
?或者**
字面意思?是的,任何路径都会匹配(如您的/app/a/path/to/something示例)。是否有某种正则表达式表示“要么到此结束,要么具有此字符(/)以及其他任何内容。我在or中尝试了ends with,但也不起作用。不,它不会起作用,因为可选部分中有前导斜杠。但它不允许/app/foo/bar。可能不允许使用子表达式,但它仍然匹配。不过,我非常感谢您的回答。谢谢。它甚至会允许/app/foo/bar,因为缺少end运算符。尽管如此它不会被保存。也就是说,我会将字符串修改为:^/app(/.*)(添加到原始帖子中)缺少end运算符会导致/appfoo也匹配,这是不可取的。这非常接近!但由于它只匹配单词字符,/app/whatever/other/path将不匹配。不过,我知道你要去哪里了。我会处理它,看看我能想出什么。谢谢!在这种情况下,请尝试一些更简单的方法,如^/app(/.*)?$#
哇。这一直都在我面前。非常感谢,@cbuckley!