Я пытаюсь вернуть часть строки, я хочу, чтобы вернуть все до кулачного слэш:Почему это регулярное выражение не возвращает правильное совпадение?
EC22941C/02/ORI
должен дать мне: EC22941C
я использовал http://www.regexr.com/ построить мое выражение:
(EC.+?)\/.+
При испытании против моего текста:
EC22941C/02/ORI
Он правильно говорит мне, что первая группа
EC22941C
Когда я положил его в C#:
public static string GetInstructionRef(string supplierReferenceId)
{
// The instruciton ref is the bit before the slash
var match = Regex.Match(supplierReferenceId, @"(EC.+?)\/.+");
if (match == null || match.Groups.Count == 0)
return "";
// Return the first group which is the instruction ref
return match.Groups[0].Value;
}
В результате я получаю Спинка:
EC22941C/02/ORI
Я попробовал количество разных шаблонов, и все они, похоже, делают то же самое.
Кто-нибудь знает, что я делаю неправильно?
О человек, я чувствую себя так глупо! Это смотрело мне в лицо, спасибо! – mikeysee