将URL修剪为简单的#id的正则表达式

时间:2014-03-27 10:18:02

标签: regex

有人会建议找到

的每个实例的正则表达式
http://example.com/dokuwiki/doku.php/folder:page?do=export_xhtml#id

,其中

  • 部分是Wiki
  • 中的变量文件夹/部分
  • 页面是该文件夹/部分中的页面
  • id指的是该页面上div的HTML id属性

所以它只读#id?最终结果是将完全限定的URL替换为该页面上的内部链接

<a href="http://example.com/dokuwiki/doku.php/folder:page?do=export_xhtml#id" >

<a href="#id" >

这里的上下文是修改Wiki,dokuwiki中的导出内容,使其适合通过CDN进行分发。通过export_xhtml进入导出标记的绝对链接不是必需的,对CDN没有好处,因为一旦用户触摸到这样的链接,他/她将最终访问完整的wiki。

1 个答案:

答案 0 :(得分:0)

这应该对你很好:

/http:\/\/example.com\/([^\/]+\/[^\/]+)\/([^\?]+)[^#]+#(\d+)/

我认为id是一个数字。

在您的示例网址中,这将匹配:

  1. dokuwiki / doku.php
  2. 文件夹:页面
  3. 56(身份证)
  4. 要获得ID,最简单的方法就是:

    /#\d+$/