正则表达式获得facebook的个人资料
本文关键字:个人资料 facebook 正则表达式 | 更新日期: 2023-09-27 18:12:38
我试图检查匹配facebook url并在一个正则表达式中获得配置文件:我:
我需要http://www.facebook.com/profile.php?id=123456789
https://facebook.com/someusername
:
123456789
someusername
使用正则表达式:
(?<=(https?://(www.)?facebook.com/(profile.php?id=)?))([^/#?]+)
我:
profile.php
someusername
什么错了吗?
我建议您使用System.Uri
类来获取此信息。它可以为您完成困难的工作,并且可以处理各种边缘情况。
var profileUri = new Uri(@"http://www.facebook.com/profile.php?id=123456789");
var usernameUri = new Uri(@"https://facebook.com/someusername");
Console.Out.WriteLine(profileUri.Query); // prints "?id=123456789"
Console.Out.WriteLine(usernameUri.AbsolutePath); // prints "/someusername"
我同意其他人使用System。但是你的正则表达式需要两个修改才能工作:
- ' in (profile.php'?id=) p>('n|$)结尾
(& lt; = (https://(www '。)? facebook ' .com/(概要' php ' ? id =)?))([^/#?]+)(' n | $)
下面的示例将查询?id=123456789
写入控制台。
Uri baseUri = new Uri ("http://www.facebook.com/");
Uri myUri = new Uri (baseUri, "/profile.php?id=123456789");
Console.WriteLine(myUri.Query);
希望这对你有帮助!
试试这个:
https?://(?:www.)?facebook.com/(?:profile.php'?id=)?(.+)
或
https?://(?:www.)?facebook.com/(?:profile.php'?id=)?([^/#'?]+)