1

我正在尝试更改将匹配 url 的正则表达式http://www.google.com,并允许它匹配文件夹名称,例如j:\Folder\Name\Here

我正在解析消息中可能存在的任何链接的文本,并使用匹配的字符串创建 Process.Start(string) 调用。

我现在拥有的正则表达式如下所示:

(?i)\b((?:[a-z][\w-]+:(?:/{1,3}|[a-z0-9%])|www\d{0,3}[.]|[a-z0-9.\-]+[.][a-z]{2,4}/)(?:[^\s()<>]+|\(([^\s()<>]+|(\([^\s()<>]+\)))*\))+(?:\(([^\s()<>]+|(\([^\s()<>]+\)))*\)|[^\s`!()\[\]{};:'"".,<>?«»“”‘’]))

我想我也可以添加到/{1,3}匹配的部分\{1,1},它可能会起作用,但情况似乎并非如此。

我不确定正则表达式到底在做什么,因为我自己没有写。

是否有人已经有一个可以匹配 URL 以及文件系统文件夹路径的正则表达式的工作示例?或者有没有办法改变这个现有的正则表达式来达到这个目的?

4

1 回答 1

2

你试过了吗:

[^ ]+?:(//[^ ]*|\\.+\\[^ ]*)

它将匹配:

http://www.google.com

C:\windows\temp internetfiles\

在字符串中where http://www.google.com is the way to go if you want to save your file to C:\windows\temp internetfiles\ quick and easy

于 2013-10-07T16:07:28.360 回答