我需要找到一个以r或k开头的字符串,但不在p之后,继续直到发现另一个r或k,它在两者之间都没有p,在两者之间没有“&”符号。
例如,“ rqkrqeqeqerpelaeg&eqsekqerpleqrd”应该找到字符串“ rqeqerpelaeg&eqsek”。但是,我做不到,我不知道如何做。请帮助我尝试使用负面的外观和正面的外观和其他各种狗屎,我无法弄清楚。
您不指定正则味道,因此我假设PCRE2。使用空格可易读:
(?x)
(?&delim)
(?&hasamp)
(?&delim)
(?(DEFINE)
(?<delim> [KR](?!P]) )
(?<other> [KR](?=P) | [^KR] )
(?<hasamp> (?&other)* & (?&other)* )
)