Örneğin 'kedi' ve 'köpek' alt dizelerini ve ayrıca diğer rasgele karakterleri içeren uzun bir dizenin olduğunu düşünelim. BuradaDize deseni eşleştirme sorunu
cat x dog cat x cat x dog x dog x cat x dog x cat
'x', herhangi bir rasgele karakter dizisini (fakat 'cat' ya da 'köpek') temsil etmektedir.
Yapmak istediğim, 'kedi' ve ardından 'kedi' dışındaki herhangi bir karakterin izlediği her 'kedi'yi bulmak. Her durumda 'kedi' ilk örneğini kaldırmak istiyorum.
cat x dog x cat x dog x dog x cat x dog x cat
:
cat x dog [cat] x cat x dog x dog x cat x dog x cat
ile bitirmek için: hayır sonraki 'kedi' önce ondan sonra 'köpek' olduğundan bu durumda
, ben parantez [kedi] kaldırmak isteyeyimBu nasıl yapılabilir? VonC dizede 'kedi' çiftleri tüm maç için here
(cat)(?=(.*cat))
önerildiği şekilde
ben bir şekilde (n) (? = (N)) gibi normal bir ifade kullanarak düşündüm. Ama yine de 'kedi' öncesi 'köpek' tarafından takip edilmeyen her kediyi çıkarmak için bunu nasıl kullanabileceğimi bilmiyorum.Yaptığım asıl sorun Java'da. Ama ben sadece genel bir sözde kod/regex çözümü arıyorum.
Hi. Hangi dilde çalıştığınızı bilmek faydalı olacaktır. –
@klausbyskov: Bu düzenleme hakkında emin misiniz? Aşağıdaki iki cümle ve örnek, "izlenen" in aslında onun ne anlama geldiğini belirtmek olduğunu gösteriyor. –
'Takip' demek istemedim! – nodmonkey