【问题标题】:get a specified element using regex - PHP使用正则表达式获取指定元素 - PHP
【发布时间】:2015-01-22 11:31:09
【问题描述】:

我正在尝试使用regex.htaccess 文件中获取页面的名称,这是行:

RewriteRule ^test.html$                                     /public/index.php?test=$1

我正在尝试检索test.html。以下是我迄今为止尝试过但效果不佳的方法:

preg_match('/\b\^[\w%+\/-]+?\$\b/', $input, $matches);

对此有什么帮助吗?当谈到正则表达式时,我正在苦苦挣扎!非常感谢。

【问题讨论】:

  • 您如何使用这些信息?提取正则表达式似乎没什么用。

标签: php regex .htaccess preg-match


【解决方案1】:

您需要从原始正则表达式中删除 \b(匹配单词字符和非单词字符)。因为space^ 符号之间不存在单词边界。您还需要在 char 类中包含点。

preg_match('~\^([\w%+\/.-]+?)\$~', $input, $matches);

使用上面的正则表达式,然后从组索引 1 中获取你想要的字符串。

DEMO

使用环视。

preg_match('~(?<=\^)[\w%+\/.-]+?(?=\$)~', $input, $matches);

DEMO

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-01
    • 2012-10-12
    • 1970-01-01
    • 2018-08-31
    相关资源
    最近更新 更多