C#正则表达式需要匹配只有第一级的URL

时间:2017-06-01 09:26:23

标签: c# .net regex

此代码为“http://ahaliagroup.com/ahh/abc

\b(?:https?://|www)\S+\b

给了我

http://ahaliagroup.com/ahh/abc

我想获取URL匹配,仅包含第一级路径。需要帮助

例如

http://ahaliagroup.com/ahh/abc - false

http://ahaliagroup.com/ahh/ - 匹配

http://ahaliagroup.com/ahh - 匹配

http://ahaliagroup.com/abb - 匹配

这是一个例子 https://dotnetfiddle.net/YZ5BGI

1 个答案:

答案 0 :(得分:3)

将非空格序列(\S+)替换为明确表示斜杠和非斜杠序列的模式。这将控制斜杠出现次数:

\b(?:https?:\/\/|www)[^\/\s]+\/[^\/\s]+\/?(?!\S)

演示:https://regex101.com/r/oUgdZX/1