enhance: a more adaptable regular expression for remote URLs (#61)

This commit is contained in:
leo 2024-04-06 18:11:49 +08:00
parent 040a6d4bba
commit 400d454478

View file

@ -4,19 +4,17 @@ namespace SourceGit.Models
{ {
public partial class Remote public partial class Remote
{ {
[GeneratedRegex(@"^http[s]?://([\w\-]+@)?[\w\.\-]+(\:[0-9]+)?/[\w\-/]+/[\w\-\.]+\.git$")]
[GeneratedRegex(@"^http[s]?://([\w\-]+@)?[\w\.\-]+(\:[0-9]+)?/[\w\-]+/[\w\-\.]+\.git$")] private static partial Regex REG_HTTPS();
private static partial Regex regex1();
[GeneratedRegex(@"^[\w\-]+@[\w\.\-]+(\:[0-9]+)?:[\w\-]+/[\w\-\.]+\.git$")] [GeneratedRegex(@"^[\w\-]+@[\w\.\-]+(\:[0-9]+)?:[\w\-]+/[\w\-\.]+\.git$")]
private static partial Regex regex2(); private static partial Regex REG_SSH1();
[GeneratedRegex(@"^ssh://([\w\-]+@)?[\w\.\-]+(\:[0-9]+)?/[\w\-]+/[\w\-\.]+\.git$")] [GeneratedRegex(@"^ssh://([\w\-]+@)?[\w\.\-]+(\:[0-9]+)?/[\w\-]+/[\w\-\.]+\.git$")]
private static partial Regex regex3(); private static partial Regex REG_SSH2();
private static readonly Regex[] URL_FORMATS = [ private static readonly Regex[] URL_FORMATS = [
regex1(), REG_HTTPS(),
regex2(), REG_SSH1(),
regex3(), REG_SSH2(),
]; ];
public string Name { get; set; } public string Name { get; set; }