Python'da tireli sözcüklerle eşleştirmek için bir regex arıyorum.Tireli sözcükler için Python Regex
I başardı en yakın olmasıdır: '\ w + - \ w + [- w +] *'
text = "one-hundered-and-three- some text foo-bar some--text"
hyphenated = re.findall(r'\w+-\w+[-\w+]*',text)
listesini verir [ 'tek hundered-ve-üç', 'foo -bar'].
Bu 'üç' sonra izleyen tire dışında neredeyse mükemmel. Sadece 'tire' ile devam ederse ek tire istiyorum. yani '[- \ w +] *' yerine, '(- \ w +) *' gibi bir işe ihtiyacım var, ama işe yaramadı, ama (('-three,' '] döndürür). yani, kelimeyle eşleşen bir kelime ve ardından tire, ardından hyphen_word sıfır veya daha fazla kez |.
ki sen bu kullanmayı planlıyor bilmiyorum ama bir eğik ya da öneki tire olan davaları kabul var [geçerli] (http://en.wikipedia.org/wiki/Hyphen) "on dokuzuncu ve yirminci yüzyıl" ya da "yatırımcıya ait ve işlenmiş" gibi mi? –
Kendi ifadenizdeki temel sorun köşeli ayraçlardır. İçeriği birlikte gruplandırmazlar, karakter sınıfı oluştururlar, bu tamamen farklı bir şeydir. – stema
Giriş için teşekkürler, tembel. İşaret ettiğin vakaları düşündüm ve bir sorun teşkil etmeyecekler. Açıklama için teşekkürler, stema. Köşeli parantezlerin içeriği gruplamadığını fark ettim, ancak yapmaya çalıştığım şeyin en yakın eşleşmesiyle sonuçlandı. – Sixhobbits