У меня есть обычная строка, как показано ниже:
xxSTART Here we have the first text in 1234 asdf xxENDxxSTART Here we have the second text 999 fffd xxENDxxSTART Here we have the third text 1234 9985Df xxENDxxSTART Here we have the fourth text 1234 asdf Dert xxEND
Я использую следующий REGEX: ^(?:(.*?)\K(xxSTART)){3}(.*?xxEND)
, чтобы получить ТОЛЬКО третье совпадение xxSTART Here we have the third text 1234 9985Df xxEND
. Это хорошо работает в http://www.regexr.com/v1/, но я прочитал статья, в которой говорится, что опция \K
не является опцией в C# (Поддержка \K в регулярном выражении) , а в статье Перевод регулярных выражений Perl в .NET говорится об использовании просмотра назад ((?<=…))
вместо. Но я не могу использовать look-behind ((?<=…))
в моем RegEX, кто-нибудь может мне помочь? пожалуйста!!
У кого-нибудь есть идея, как использовать ((?<=…))
в моем RegEX ^(?:(.*?)\K(xxSTART)){3}(.*?xxEND)
для замены опции \K
?
С уважением,