2013-10-12 11 views
6

içeren bir blok yorum yapmak? Örneğinnasıl */içerdiğini regexpi içeren kod bloğu yorum yapmak akıllı bir yol olup olmadığını biliyor musunuz Regexp'i

Kendimi bu talimatı içeren bir blok yorumlama bulundu:

... 

messageParser.run('messageFetched',/.*/); 

... 

Ama bloğu yorum yaparsanız:

/* 

messageParser.run('messageFetched',/.*/); 

*/ 

sonra javascript açıklama kapanış olarak regexp yorumlamak ve dosyayı ayrıştırmak olamaz . Ilgili çizginin önüne // koymayı denedim, ama yardım etmiyor ve bloktaki her satırı yorumlamak veya regexp malzemelerini değiştirmek istemiyorum.

Bunu yapmanın akıllıca bir yolu yoktur?

+2

regexp ifadesini '/(.*) /' –

+0

olarak değiştirin. Evet, kodu düğüm ile çalıştırıyorum ve –

+0

'/.*/' da '/.?/' olarak da yazılabilir. – georg

cevap

2

/(.*)/ için regexp değiştirin: Bunu yapmak için

messageParser.run('messageFetched',/(.*)/); 

/* 
messageParser.run('messageFetched',/(.*)/); 
*/ 
+0

u_mulder: Ben yeniden değiştirmek istemiyorum söyledi hatta ise, çözümünüzü gibi, bu kodu çalıştırarak üzerinde hiçbir pratik etkileri vardır değişiklik ... –

+1

'code' çalışan üzerinde hiçbir pratik etkileri vardır - yani var Bu özel durumda) –

+1

önerdi neden hiç etkisi yoktur, ama sen Pars içinde regex sarın eğer madde (örneğin, yakalama grupları değiştirilir gelmez ifadeler) – SheetJS

2

Benim "akıllı" bir şekilde ...

bir işleve kodunuzu Taşı, örneğin:

function mP() { 
    messageParser.run('messageFetched',/.*/); 
} 

Daha sonra kullanabilirsiniz

/* 
mP(); 
*/ 

Temel olarak, regex'inizi yoldan çıkarır, böylece normal ifade kodunu değiştirmek zorunda kalmadan blok yorumlarını serbestçe kullanabilirsiniz.

+0

Güzel yolu inşa edebilir. ve basit. Bunu kendi başıma düşünmeliydim ... –

+0

@AndreaParodi bazen sadece ikinci bir göze ihtiyacın var :) – Charlie74

1

Ben en iyi yanıt zaten seçilmiş beri geciktim biliyorum ama size beri boş olmayan yakalayan grup ile biten öneririm "zeki hilesi" Bir aradığını:

/.*(?:)/ 

hangisi eşdeğidir:

/.*/ 

Herhangi bir kodu değiştirmek istemiyorsanız, en uygun olanıdır. (örneğin, yeniden birleştirme veya bir yakalama grubunun tanıtılmasının bir yan etkisi ile). Aynı zamanda (aynı bir yakalama grubunun tanıtılması ve mantığın yeniden yazılmasıyla sonuçlanmasına neden olabilir) ve işleve göre daha az olumsuz performans etkileri vardır. proxy. (?:) Aslında boş olmayan yakalayan grup/kullanılmasını önerir

(JavaScript dili dayanmaktadır) resmi ECMAScript şartname/"boş" bir düzenli ifadeyi temsil etmek.

İlgili konular