正则表达式直到重复字符(uri路径)

时间:2015-05-12 12:44:24

标签: regex

我有这样的例子

/path/to/service/People("Peter")
/i/dont/care/about/how/much/pathes/we/have/here/Customer("John")
/itcouldbejustone/Client("Rick")

我需要regex并且只留下People(" Peter"),Customer(" John"),Client(" Rick")相应地

我试图使用:

\/.+?(?=\/)

但我们有很多" /"斜线,如何避免呢?感谢

3 个答案:

答案 0 :(得分:1)

让它变得贪婪....

\/.+(?=\/)

还要匹配上一个/

\/.+\/

DEMO

答案 1 :(得分:0)

如果使用PHP

,您可以在没有正则表达式的情况下执行此操作
$url = '/path/to/service/People("Peter")';
$name = end(explode("/", $url));

$ name将有People("Peter");

答案 2 :(得分:0)

这取决于您使用的正则表达式工具。

无论如何,有很多方法可以解决这个问题:

  • 如果你在最后一部分永远不会有斜线,你可以要求在最后一个斜线之后发生任何事情:

    Error

    您想要的结果将在第1组。

  • 如果最后一部分的格式总是private bool CanExecute(object commandParameter) { return string.IsNullOrEmpty(yourDataObject.Error); } ,那么你也可以匹配这种格式 - 这让我觉得更明确的模式:

    .*\/([^\/]+)