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ď č. 1použ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.