2016-03-19 72 views
0

2 maç haline nasıl.REGEX: <code><%=anything%><%=anything%></code></p> <p>ve normal bir ifade: <code><%=\s*(\S+)\s*%></code> bu açıklama ı bildirimde bulunmamış REGEX

Normal ifadeler, 2 eşleşme yerine tabloyu 1 eşleşme ile eşleştirir.

Birisi normal ifademi düzeltebilir mi? regex genellikle açgözlü olduğu için

Btw ben böylece maçın eşleşebilir şeyi alarak, Şu anda bir maç haline eşleşen tüm edilmektedir başvurumun

+0

bir göz varsa regex101

içinde test ettikten sonra tekrar ters eğik çizgi çift var, kullandığınız hangi dil/aracı (java gibi biraz görünüyor) ? Ben bunu test Ayrıca, '<% = \\ s * (\\ S +) \\ s *%>' üzgün ' –

+0

, Yani sadece' <% = şey%> benim kötü <%=anything%><%=anything%> I will maçları şimdi düzenle – Kim

cevap

2

için Java kullanmak - yani =anything%><%=anything tüm \ S + tarafından eşleşti olduğunu. Tembel değiştiriciyi \ S için kullanabilirsiniz, bu nedenle aşağıdaki gibi küçük olduğu kadar eşleşir: <%=\\s*(\\S+?)\\s*%>. - Ama çalışmak için daha iyi bir yol yoktur Eğer kapanış > maç için istemiyorum, sadece negatif bir karakter sınıfa dahil: o öldürürsün https://regex101.com/r/bA4qY9/1 Not: Burada <%=\\s*([^\\s>]+)\\s*%>

bunun bir demo Eğer, bunun içine daha da okumak istiyorum size söyler misiniz http://www.regular-expressions.info/repeat.html

+0

Merhaba sebastian çok teşekkür ederim, kodunuzu mükemmel iş! Dürüstçe, REGEX ile çok yeni biriyim. REGEX'i öğrenmek için bana en uygun siteyi söyleyebilir misiniz? – Kim

+0

http://www.regular-expressions.info/ Başlamak için harika bir yer olmalı. Yardım ettiğine sevindim. –

+0

Ur site önerisi için tekrar teşekkürler :) – Kim

İlgili konular