我有一个字符串,其中嵌入了大约2k个URL,需要有关正则表达式模式的帮助才能提取URL。
嵌入了URL的字符串示例
“blahblahblah; HTTP://subdomain.server.com/index.asp ID = 1000; blahblahblah;”
网址始终以“http://subdomain.server.com/”开头,以第一个“;”结尾。唯一改变的是子目录和页面。
从上面的示例中,我需要捕获“http://subdomain.server.com/index.asp?id=1000”
我已经尝试过(http://subdomain.server.com/)。*(;) - 但它并没有停在第一个“;”。它实际上会抓住“http://subdomain.server.com/index.asp?id=1000 ;blahblahblah;”
非常感谢任何帮助。
谢谢!
答案 0 :(得分:1)
更准确的正则表达式是(http://subdomain.server.com/ [^;] *);
它匹配域,然后匹配除分号之外的所有字符,然后在末尾匹配分号。由于期间是正则表达式中的特殊字符,因此需要使用期间的反斜杠来转义它们。
答案 1 :(得分:0)
没关系 - 我明白了。 (http://subdomain.server.com/).*?(;)
答案 2 :(得分:0)
为什么你不能只使用你的语言string.split(';')等价的是什么原因?