HTML ayrıştırmak için normal ifadeler kullanarak: neden olmasın?
Soru soran düzenli HTML bazı bilgi kapmak için kullandığı stackoverflow her soru, kaçınılmaz olarak, "" bu HTML ayrıştırmak için normal ifade kullanmak için değil diyor. cevabı olacak gibi görünüyor
Neden olmasın? Bildiğim kadarıyla bu alıntı, tırnak içinde, "gerçek" HTML ayrıştırıcıları var Beautiful Soup ve eminim onlar güçlü ve yararlı, ama eğer sen yapmak bir şey basit, hızlı ve kirli, o zaman neden uğraşıyorsun kullanarak bir şey bu kadar karmaşık bir kaç düzenli ifadeler işe yarayacak mı iyi?
Ayrıca, onları genel olarak ayrıştırma için kötü bir seçim yapar bu sadece bir düzenli ifade hakkında anlamadığım bir temel var mı?
CEVAP
Tüm HTML ayrıştırma açılış eşleşen ve regexps ile mümkün olan kapanış etiketi bağlıdır beri düzenli ifadeler ile mümkün değildir.
Düzenli ifadeler sadece regular languages Maç olabilir ama HTML context-free language. Regexps ile yapabileceğiniz tek şey HTML sezgisel ama her koşulda çalışmaz. Yanlış herhangi bir düzenli ifade ile eşleşen olacak bir HTML dosyası sunmak mümkün olmalıdır.
C# kullanarak düzenli ifadeler HTML et...
Nasıl sadece sayısal (0-9) HTML ınputb...
Sabit XML ayrıştırma ve düzenli HTML i...
HTML elemanları jQuery kullanarak oluş...
Nasıl jQuery kullanarak HTML varlıklar...