Regex 如何为此URL类型编写正则表达式?

Regex 如何为此URL类型编写正则表达式?,regex,url,Regex,Url,我对正则表达式有疑问。下面给出了URL示例: example.com/2012/12/4/akfjalj.html 如何为此类URL编写或定义正则表达式 如果您能提供给我,那将是一个很大的帮助。 <?php $url = "http://example.com/2012/3/1/test.html"; $pattern = '/^https?:\/\/[a-z]+\/[0-9]{4}\/[0-9]{1,2}\/[0-9]{1,2}\/[a-z]+\.html$/'; $ismatch =

我对正则表达式有疑问。下面给出了URL示例:

example.com/2012/12/4/akfjalj.html
如何为此类URL编写或定义正则表达式

如果您能提供给我,那将是一个很大的帮助。


<?php
$url = "http://example.com/2012/3/1/test.html";
$pattern = '/^https?:\/\/[a-z]+\/[0-9]{4}\/[0-9]{1,2}\/[0-9]{1,2}\/[a-z]+\.html$/';
$ismatch = preg_match($pattern, $url);
echo $ismatch; // 1 if true, 0 if false
?>

参考

请显示更多变体,我不清楚您的url的哪一部分是可变的,以及您想做什么。只是测试url是否匹配?替换部分?
example.com\/2012\/12\/4\/akfjalj\.html
应该匹配。任何编写正则表达式的人都需要知道URL的哪些部分将保持不变,以及URL的哪些部分将更改(以便用正则表达式覆盖更改部分的模式)。感谢您提供Regex@kitgui.com,我很抱歉没有明确表示我想检测该网站是博客还是论坛,据我所知,博客的URL结构有一定的模式,例如:,我可以通过检查URL中的某些字符串手动判断它是博客-“/2012/04/”我想用PHP脚本编程,它可以自动检测URL中有年份和月份的URL,这样我就可以将它定义为博客。因此,对于这一个,我想写一个正则表达式..,如果不可理解,请告诉我。提前感谢,,