【发布时间】:2012-04-20 05:27:57
【问题描述】:
我将如何制作一个正则表达式来只获取“TITLE”这个词并过滤掉其余的词。
标题可以改变
例子:
http://blogx.blogspot.com/2012/04/TITLE.html?showComment=13348745236XXXXXXX
我得到了什么:
http://[a-z{1,20}].blogspot.com/{4}/{2}/______\.(.*)$
【问题讨论】:
我将如何制作一个正则表达式来只获取“TITLE”这个词并过滤掉其余的词。
标题可以改变
例子:
http://blogx.blogspot.com/2012/04/TITLE.html?showComment=13348745236XXXXXXX
我得到了什么:
http://[a-z{1,20}].blogspot.com/{4}/{2}/______\.(.*)$
【问题讨论】:
试试这个
blogspot\.com\/.*?([^\/]+)\.html
([^\/]+) 是一个否定字符类,它将匹配除斜线之外的任何内容,直到出现“.html”。
您将在捕获组 1 中找到“标题”。
除了缺少标题部分之外,您的尝试还有其他问题
http://[a-z{1,20}].blogspot.com/{4}/{2}/______\.(.*)$
^^^^^^^ ^^^ ^^^
量词必须在字符类之外。
您在此处仅提供了量词。这将匹配 7 个 / 连续(顺便说一句。取决于您的正则表达式风格和/或您需要转义斜杠的正则表达式分隔符)。
使用您的正则表达式,解决方案可能看起来像
http://[a-z]{1,20}.blogspot.com/\d{4}/\d{2}/([^\/]+)\.(.*)$
查看Regexr
【讨论】:
(?<=http://blogx\.blogspot\.com\/\d{4}/\d{2}/).*?(?=\.)
【讨论】: