在我的C#程序中,我编写了一个Google搜索函数,它通过从每个页面获取源代码并通过正则表达式获取URL。URL C的正则表达式#
我的实际正则表达式是:
(?:(?:(?:http)://)(?:w{3}\\.)?(?:[a-zA-Z0-9/;\\?&=:\\-_\\$\\+!\\*'\\(\\|\\\\~\\[\\]#%\\.])+)
此作品擅长的那一刻,但我得到例如网址,像http://www.example.com/forums/arcade.php?efdf=332
我只是想在这种情况下获得的URL没有?efdf=332
在结束。
那么我该如何改变正则表达式呢?
嗨Omegavirus,欢迎来到堆栈溢出。我注意到,为了正确格式化你的正则表达式,你遇到了很多麻烦,但是你可以让它更容易。只需粘贴原始正则表达式,将其标记并按下Ctrl-K。这会将文本格式设置为逐字文本(如HTML'pre'标签)。错误的可能性要小得多。 – 2010-11-21 14:09:13
哦,我不知道,谢谢;) 和正则表达式是从我的C#程序,所以\逃脱。忘了说。 – Omegavirus 2010-11-21 14:10:07
在C#中,使用正则表达式使用逐字字符串('@“foo”')。那么你不必逃避你的反斜杠。否则你会发疯。正则表达式已经很难读取了... – 2010-11-21 14:15:37