【问题标题】:How to write this reqular expression ? [Get a section from URL]这个正则表达式怎么写? [从 URL 获取部分]
【发布时间】:2011-06-13 16:13:51
【问题描述】:

我有以下三种类型的 url,但我只需要粗体。如何在php中写正则表达式的粗体?

页面,首页

页面,成员。编辑个人资料

page,Members.Seller.关注列表

完整网址的类型:

http://localhost.example:8090/index.php/page,Members.Inbox

【问题讨论】:

  • 请详细说明。 html/代码示例赞赏

标签: php regex url


【解决方案1】:

/.*[,.](.*?)$/ 呢?

用法示例:

$output = preg_match('/.*[,.](.*?)$/', $inputValue, $matches);
echo $matches[1];

【讨论】:

  • 正则表达式完全冗余
【解决方案2】:

有些东西

[A-Za-z]+$

这是一个实时版本(虽然它是为 ruby​​ 量身定制的,但我发现它对一般的正则表达式调试很有帮助):

【讨论】:

  • * 应该是+,因为你也匹配了所有的空行。
【解决方案3】:
$part = preg_split('/[,\.]/',$url);
echo $part[count($part)-1];

【讨论】:

    【解决方案4】:

    我是正则表达式的新手,但我很渴望。这是我得到的:

    \b(?:.+\.|,)+(.+)\b
    

    这应该捕获第 1 组中的粗体字。

    希望这会有所帮助,嗯。

    【讨论】:

      【解决方案5】:

      给定一个由逗号、句点或两者混合分隔的列表,这会将最后一个字段放在 \1 反向引用中。

      ^.*?(?:(?:\.|,).*)*(?:\.|,)(.*?)$
      

      http://rubular.com/r/ewBbSVIeZ6

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-04
        • 1970-01-01
        • 2012-11-02
        • 2010-09-06
        • 2012-11-11
        • 1970-01-01
        • 2016-12-27
        • 2013-03-29
        相关资源
        最近更新 更多