日期:2014-05-19  浏览次数:21203 次

求URL验证的正则表达式
http://rss.cna.com.tw/rsscna/rss/politics.xml
http://www.news24.jp/rss/index.rdf
http://www.syokenshimpo.co.jp/rss/summary_kokunai.rdf
http://www.raychou.com/weather/rss.php?id=58367
求一给RDF,XML,HTML,HTM,PHP结尾的有没有HTTP开头的都可以的正则表达式,谢谢.


------解决方案--------------------
"^\d+$ "  //非负整数(正整数 + 0)
"^[0-9]*[1-9][0-9]*$ "  //正整数
"^((-\d+)|(0+))$ "  //非正整数(负整数 + 0)
"^-[0-9]*[1-9][0-9]*$ "  //负整数
"^-?\d+$ "    //整数
"^\d+(\.\d+)?$ "  //非负浮点数(正浮点数 + 0)
"^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$ "  //正浮点数
"^((-\d+(\.\d+)?)|(0+(\.0+)?))$ "  //非正浮点数(负浮点数 + 0)
"^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$ "  //负浮点数
"^(-?\d+)(\.\d+)?$ "  //浮点数
"^[A-Za-z]+$ "  //由26个英文字母组成的字符串
"^[A-Z]+$ "  //由26个英文字母的大写组成的字符串
"^[a-z]+$ "  //由26个英文字母的小写组成的字符串
"^[A-Za-z0-9]+$ "  //由数字和26个英文字母组成的字符串
"^\w+$ "  //由数字、26个英文字母或者下划线组成的字符串
"^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$ "    //email地址
"^[a-zA-z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\S*)?$ "  //url
/^(d{2}|d{4})-((0([1-9]{1}))|(1[1|2]))-(([0-2]([1-9]{1}))|(3[0|1]))$/ // 年-月-日
/^((0([1-9]{1}))|(1[1|2]))/(([0-2]([1-9]{1}))|(3[0|1]))/(d{2}|d{4})$/ // 月/日/年
"^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?)$ " //Emil
"(d+-)?(d{4}-?d{7}|d{3}-?d{8}|^d{7,8})(-d+)? " //电话号码
"^(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5]).(d{1,2}|1dd|2[0-4]d|25[0-5])$ " //IP地址

------解决方案--------------------
楼主最后一个例子是否符合要求,如果符合,那就用MS提供的,把前面处理一下就行了
(http(s)?://)?([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?

如果不符合,按你的描述,这样试下
^(http://)?([\w-]+\.)+[\w-]+/[\w- ./?%&=]*\.(xml|rdf|htm|html|php)$
------解决方案--------------------
没看明白楼上说的什么意思

^(http://)?([\w-]+\.)+[\w-]+/[\w- ./?%&=]*\.(xml|rdf|htm|html|php)$
这个可以匹配
http://www.syokenshimpo.co.jp/rss/summary_kokunai.rdf
下面的那个不可以
------解决方案--------------------
lxcnn(过客)的式子中将^和$去掉就OK了
------解决方案--------------------
楼主要求结尾符合某一条件,所以^和$是必须的,这样试下,测试通过

Regex reg = new Regex(@ "^(http://)?([\w-]+\.)+[\w-]+/[\w- ./?%&=]*\.(xml|rdf|htm|html|php)$ ");
if (!reg.IsMatch(txtUrl.Text))
{
MessageBox.Show(getMessage( "msg0004 "), "Info ", MessageBoxButtons.OK);
return;
}