C# 需要双正则表达式吗?
我正在尝试使用正则表达式解析URL URL的格式可以如下所示 雅得ayadahttp://www.theurl.com/apageC# 需要双正则表达式吗?,c#,regex,C#,Regex,我正在尝试使用正则表达式解析URL URL的格式可以如下所示 雅得ayadahttp://www.theurl.com/apage 雅得ayadahttp://www.theurl.com/ 雅得ayadahttp://www.theurl.com 雅得ayadahttp://meow.theurl.com/apage 雅得ayadahttp://theurl.com 雅得ayadahttp://theurl.com/ 这是我的两个正则表达式,用于处理有www和无www(或任何其他subdoam
雅得ayadahttp://www.theurl.com/
雅得ayadahttp://www.theurl.com
雅得ayadahttp://meow.theurl.com/apage
雅得ayadahttp://theurl.com
雅得ayadahttp://theurl.com/
这是我的两个正则表达式,用于处理有www和无www(或任何其他subdoamin)的情况 www.regex:
\bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9]\.\w*[a-z0-9]
\bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9]
和非www regex: \bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9]\.\w*[a-z0-9]
\bhttp:\/\/\b\w*[a-z0-9]\.\w*[a-z0-9]
有没有办法把它们结合起来?我知道有,但我似乎做不到。我已经试了几个小时了
此外,它们似乎返回空的匹配项,这给了我的列表不必要的项。是否可以返回不为空的匹配项?以下操作可能会执行此操作:
\bhttp:\/\/([\w\d\-\.]+\.)?[\w\d\-\.]+\.[\w\d]+\/?
这可能对你有用
\bhttp:\/\/(\b\w*[a-z0-9]\.)?\w*[a-z0-9]\.\w*[a-z0-9]
原始匹配模式:\bhttp:\/\/(\b\w*[a-z0-9]\)?\w*[a-z0-9]\.\w*[a-z0-9]在找到的匹配项中:没有匹配项。@Carlpalson::源文本是什么?yad上面的字符串是什么ayadahttp://www.theurl.com/apage 雅得ayadahttp://www.theurl.com/ 雅得ayadahttp://www.theurl.com 雅得ayadahttp://meow.theurl.com/apage 雅得ayadahttp://theurl.com 雅得ayadahttp://theurl.com/@Carlpalson::那么您可以像这样尝试
\b(\w*[a-z0-9])?http:\/\/(\b\w*[a-z0-9]\)?\w*[a-z0-9]\.\w*[a-z0-9]