using System; using System.Text.RegularExpressions; using GLib; using Application = Gtk.Application; namespace Buypeeb { internal class BuypeebApp { [STAThread] public static void Main(string[] args) { Application.Init(); var app = new Application("space.lynnesbian.Buypeeb", ApplicationFlags.None); app.Register(Cancellable.Current); var win = new MainWindow(); app.AddWindow(win); win.Show(); Application.Run(); } // ReSharper disable once InconsistentNaming // i prefer "IDFromURL" to "IdFromUrl". also i will never forgive microsoft for the name of XmlHTTPRequest and you // may consider this an act of spite/revenge public static string IDFromURL(string url) { // TODO: handle invalid URLs better, or at all really var rx = new Regex(@"^([^?#]+)"); url = rx.Match(url).Groups[1].Value; // remove query params (if any) rx = new Regex(@".+\/(.+?)/?$"); var id = rx.Match(url).Groups[1].Value; // extracts "k12345" from "https://buypeeb.biz/whatever/k12345/" return id; } } }