/ / Regex match "/ 24af786e" písmená a čísla - regex

Regex zápas "/ 24af786e" písmená a čísla - regex

Mám túto adresu URL http://localhost:64685/Forum/Runner/runner_job/24af786e

Chcel by som regex skontrolovať, či url, má / nasleduje 8 x písmeno alebo čísla (ako v url) na konci adresy URL.

toto je môj najlepší pokus, a viem, že to nie je dobré alebo správne: /[^/A-Z]{9}/g

Mohol by ma niekto viesť správnym smerom?

editovať

Ako spustim regex,

Regex regex = new Regex(@"//[^W_]{8}$/");
Match match = regex.Match(url);
if (match.Success)
{
url.Replace(match.Value, "");
}

odpovede:

2 pre odpoveď č. 1

použitie

Regex regex = new Regex(@"/[^W_]{8}$");
// Or, to make it match only ASCII letters/digits:
// Regex regex = new Regex(@"/[^W_]{8}$", RegexOptions.ECMAScript);
url = regex.Replace(url, "");

Nie je potrebné skontrolovať zápas pred nahradením regexu. Upozorňujeme, že ste použili a String.Replace metóda, a nie Regex.Replace jeden a nepriradil novú hodnotu url (reťazce sú v C # nezmeniteľné). Pozrite si regex demo.

podrobnosti:

  • / - doslovný /
  • [^W_]{8} - presne 8 písmen alebo číslic ([^W_] zodpovedá znaku inému ako nehovorové (W) a _ znakov)
  • $ - koniec reťazca.

Prejdite RegexOptions.ECMAScript ak potrebujete len písmená / číslice ASCII.