Dizelerin bir listesi var. Bazıları formda 123-...456
. Değişken kısım "..." şöyle olabilir:
- "elma" dizesi ve ardından kısa çizgi, ör.
123-apple-456
- "muz" dizesini ve ardından kısa çizgi, ör.
123-banana-456
- boş bir dize, örneğin
123-456
(yalnızca bir tire işareti olduğunu unutmayın)
"Elma" veya "muz" dışındaki herhangi bir kelime geçersiz.
Bu üç durum için sırasıyla "elma", "muz" ve "" ile eşleştirmek istiyorum. Kısa çizgiyi yakalamak istemediğimi , ancak her zaman eşleştirmek istediğimi unutmayın . Dize 123-...456
yukarıda açıklandığı gibi değilse , hiçbir eşleşme yoktur.
Bunu yapmak için nasıl düzenli bir ifade yazarım? İleriye, geriye, göze, ve yakalamayan gruplara izin veren bir lezzetim olduğunu varsayın.
Buradaki en önemli gözlem, "elma" veya "muz" olduğunda, sondaki kısa çizginizin de olması gerektiğidir , ancak eşleştirmek istemezsiniz. Boş dizeyle eşleştiğinizde , sondaki tire işareti olmamalıdır . Bu iddiayı çevreleyen bir regex doğru olacaktır.