В следующем примере я хотел бы получить текст между pMAINp и first pMDSp.Регулярное выражение имеет прогноз и прогноз:
string contents = "pMAINp MAP B FlightTest Load pMDSp ZutiCarrier pWingp some pMDSp more pWingp end";
string blockMainRegex = @"(?<=pMAINp)[\s\w+]+(?=(pMDS)?)";
Результат, на который я надеялся, был: «MAP B FlightTest Load»
, но он возвращает: «MAPB FlightTest Загрузить pMDSp ZutiCarrier pWingp немного pMDSp больше pWingp end "
Вы заметите, что я здесь пытаюсь выполнить ленивое совпадение: (pMDS)?который явно не работает!Любая помощь с этим будет высоко ценится.Благодарю.: -)
EDIT : Ой, искомый текст был исправлен.
Это прекрасно работает:
string blockMainRegex = @ "(? <= PMAINp)[\ s \ ш +] + (= PMDS?) ";? </p>