/ / Regex match "/ 24af786e" lettere e numeri - regex

Regex match "/ 24af786e" lettere e numeri - regex

Ho questo URL http://localhost:64685/Forum/Runner/runner_job/24af786e

Mi piacerebbe il regex per verificare se l'url ha un / seguito da 8 lettere o numeri (come nell'URL) alla fine dell'URL.

questo è il mio miglior tentativo finora, e so che non è corretto o corretto: /[^/A-Z]{9}/g

Qualcuno potrebbe guidarmi nella giusta direzione?

modificare

Come gestisco la regex,

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

risposte:

2 per risposta № 1

Uso

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, "");

Non è necessario controllare la corrispondenza prima di sostituirla con un'espressione regolare. Nota che hai usato un String.Replace metodo, non a Regex.Replace uno e non ha assegnato il nuovo valore a url (le stringhe sono immutabili in C #). Vedere il regex demo.

Dettagli:

  • / - un letterale /
  • [^W_]{8} - esattamente 8 lettere o cifre ([^W_] corrisponde a un carattere diverso da una non parola (W) e _ caratteri)
  • $ - fine della stringa.

Passa il RegexOptions.ECMAScript opzione se è necessario abbinare solo lettere / cifre ASCII.