ile hangi modelin eşleştiğini belirleme Sadece eğlence için ve düzenli ifadelerle biraz daha aşina olmak için ciddi bir proje olarak değil, bir çevirmen yazıyorum. Aşağıdaki koddan, bununla nereye gideceğimi düşünebilirim (cheezburger kimse?).Regex.Matches
Anahtarlar ve sözlük değer olarak düzenli ifadeler listesini kullanan bir sözlük kullanıyorum yedek değerlerin detaylı listesini içeren bir List<string>
olduğunu. Eğer bu şekilde yapacaksam, yedekin ne işe yaradığını anlamak için, anahtarın ne olduğunu bilmem gerekecek, hangi paternin maçı tetiklediğini nasıl çözebilirim?
var dictionary = new Dictionary<string, List<string>>
{
{"(?!e)ight", new List<string>(){"ite"}},
{"(?!ues)tion", new List<string>(){"shun"}},
{"(?:god|allah|buddah?|diety)", new List<string>(){"ceiling cat"}},
..
}
var regex = "(" + String.Join(")|(", dictionary.Keys.ToArray()) + ")";
foreach (Match metamatch in Regex.Matches(input
, regex
, RegexOptions.IgnoreCase | RegexOptions.ExplicitCapture))
{
substitute = GetRandomReplacement(dictionary[ ????? ]);
input = input.Replace(metamatch.Value, substitute);
}
Mümkün olan şey midir, yoksa bu deliliği başarmanın daha iyi bir yolu var mı?
'(?!) Tion' bu hiçbir anlam ifade etmemektedir, çünkü bu sadece 'tion' ile aynıdır. Belki de olumsuz bir bakış mı istiyorsun? '(? polygenelubricants
... ve Buddha, Buddah ... ve tavan kedisi nedir? –
@Tim: Sanırım bir tavan vantilatörü sallayan bir kedi vardı viral pazarlama kampanyası için bir referans. –