Yahoo Pipes'te beslemem var ve bir soru işaretinden sonra her şeyi eşleştirmek istiyorum.
Şimdiye kadar soru işaretinin nasıl eşleştirileceğini buldum ..
\?
Şimdi sadece soru işaretinden sonraki / sonraki her şeyi eşleştirmek için.
"\\?"
Yahoo Pipes'te beslemem var ve bir soru işaretinden sonra her şeyi eşleştirmek istiyorum.
Şimdiye kadar soru işaretinin nasıl eşleştirileceğini buldum ..
\?
Şimdi sadece soru işaretinden sonraki / sonraki her şeyi eşleştirmek için.
"\\?"
Yanıtlar:
\?(.*)
İlk yakalama grubunun içeriğini istiyorsunuz.
Feb 5 '11 at 10:41
. Yine de aldığımız her değişikliği belirtmek güzel. Belki birisi bunu Dreamonic'ten öğrenecek.
Bunu dene:
\?(.*)
Parantezler, dizenin ilgilendiğiniz kısmını çıkarmak için kullanabileceğiniz bir yakalama grubudur.
Dizge yeni satırlar içeriyorsa, noktanın yeni satır karakteriyle eşleşmesine izin vermek için "dot all" değiştiricisini kullanmanız gerekebilir. Bunu yapmak zorunda olup olmamanız ve bunu nasıl yapacağınız, kullandığınız dile bağlıdır. Sorunuzda kullandığınız programlama dilinden bahsetmeyi unutmuşsunuz gibi görünüyor.
Diliniz sabit genişlikte geriye doğru bakma iddialarını destekliyorsa kullanabileceğiniz başka bir alternatif şudur:
(?<=\?).*
İle pozitif Geriye dönük tekniği:
(?<=\?).*
(Burada soru işaretinin olduğu bir metni arıyoruz)
Input: derpderp?mystring blahbeh
Output: mystring blahbeh
Temel olarak, herhangi bir eşleşme yapılmadan önce kaçılmış soru işareti gerektiren?<=
bir grup yapısıdır .
Gerçekten iyi performans gösterirler, ancak tüm uygulamalar onları desteklemez.
\?(.*)$
"?" Sonrasındaki tüm karakterleri eşleştirmek istiyorsanız Herhangi bir karakterle eşleştirmek için bir grup kullanabilirsiniz ve satırın sonunu belirtmek için "$" işaretini kullanmanız daha iyi olur.
.
varsayılan olarak yeni satır karakteriyle eşleşmez. Sonuç olarak, ifadede satır sonu karakteri olmasa bile satırın sonuna kadar eşleşir.
Bu siteye bir göz atın: http://rubular.com/ Temel olarak site, örnek bir metin girmenize izin verir (sitenizde aradığınız şey) ve ardından normal ifadeyi oluştururken, neyin eşleştiğini vurgulayacaktır. gerçek zaman.
/([a-zA-Z]{4}):/
eşleşecek Test: Welcome
ve kapacakTest
str.replace(/^.+?\"|^.|\".+/, '');
Bu bazen "" arasından başka neyi kaldıracağınızı seçmek istediğinizde kullanmak kötü olabilir ve bir dizede ikiden fazla kullanamazsınız. Yaptığı tek şey "" arasında olmayanları seçmek ve onu "" hiçbir şeyle değiştirmek.
Benim için bile biraz kafa karıştırıcı, ama bunu açıklamaya çalışıyorum. ^.+?
(İSTEĞE BAĞLI herhangi bir şey değil) ilk "
o zamana kadar |
Or / stop (hala ne anlama geldiğini araştırıyor) kadar / at ^.
, 2. kullanımdan öncesine kadar "
( |
stop / at) hiçbir şey seçmedi . Ve ardından gelen her şeyi seçin. +.
\?.*
sonrasındaki her şeyle (boş bir dize dahil) eşleşir?
.