Как насчет этого: <.{4}F[^>]+>
Это соответствует открытию <
, за которым следуют любые 4 символа, F, затем все до закрытия >
(путем сопоставления с любым, что не является >
).
string input = "<2342Flsdn3Z><9124Fsflj20>";
string pattern = "<.{4}F[^>]+>";
foreach (Match m in Regex.Matches(input, pattern))
{
Console.WriteLine(m.Value);
}
РЕДАКТИРОВАТЬ: часть создания хорошего регулярного выражения четко указывает шаблон, который вы хотите соответствовать. Например, то, как вы сформулировали вопрос, оставляет некоторые детали. Я ответил с моим шаблоном, чтобы соответствовать любому символу, пока F был там, где вы указали.
Для лучшего выражения вы могли бы рассказать нам несколько вещей:
- Символы перед F всегда будут цифрами и длиной 4:
\d{4}
или [0-9]{4}
- Символы после F будут иметь длину X (6?) И могут состоять только из цифр и букв:
[\dA-Z]{6}
- Регистр нечувствителен: используйте
RegexOptions.IgnoreCase
(.NET) или используйте [a-zA-Z]
- Укажите свое намерение: соответствуете ли вы? Пытаетесь извлечь внутреннюю ценность? Что вы подразумеваете под сплит? Сплит на что?
- Укажите язык, который вы используете: C #, Python, Perl и т. Д. (Вы сделали это)