Powiedzmy, mam ciąg znaków, który muszę zweryfikować poprawny format; na przykład RR1234566-001
(2 litery, 7 cyfr, myślnik, 1 lub więcej cyfr). Używam coś takiego:Wyrażenia regularne C# - czy można wyodrębnić dopasowania podczas dopasowywania?
Regex regex = new Regex(patternString);
if (regex.IsMatch(stringToMatch))
{
return true;
}
else
{
return false;
}
to działa mi powiedzieć, czy stringToMatch
następujący wzór określony przez patternString
. To, czego potrzebuję (i kończę wydobywając je później) to: 123456
i 001
- tj. Części stringToMatch
.
Należy pamiętać, że NIE jest to kwestia sposobu konstruowania wyrażeń regularnych. Pytam: "Czy istnieje sposób, aby dopasować i wyodrębnić wartości jednocześnie bez konieczności korzystania z funkcji podziału później?"
pamiętać, że można po prostu wrócić: 'powrócić regex.IsMatch (...) // kod z question' lub ' powrócić match.Success // kod z przyjętymi solution' zwrotów in/if/else were not needed :) –