bir desen ilk oluşumu hızlı bir soru: benim desen bir svg dize ve l 5 0 l 0 10 l -5 0 l 0 -10
gibi görünüyor Bir referansa karşı bazı rakipsiz karşılaştırma yapmak için Ben ilk ama tüm l
hendek bilmiyorum hepsini boşaltabilir ve bir 'l' yazabilir ya da alt dizeleri kullanabilirim. Ama merak ediyorum, bunun için bir javascript regexp deyim var mı?Tüm AMA dize
cevap
Sen dize başlangıcını kaçınarak, bir negatif ileri yönlü deneyebilirsiniz:
/(?!^)l/g
mi bakın çevrimiçi: Böyle jsfiddle
Evet, bu işe yarıyor! –
Görünen ilk '-' karakteri için çalışmak için bunu değiştirmeye çalışıyorum ve bunu çok zor bir zaman geçiriyorum :(. Herhangi bir yardım için teşekkür ederiz. Teşekkürler. –
Bunu nasıl kullanırdım Bir değişken – Wlliam
şey?
"l 5 0 l 0 10 l -5 0 l 0 -10".replace(/[^^]l/g, '')
Bu durum bu durumda işe yaramasa da, '^' karakter sınıfındaki değişmez karakteri temsil etmiyor? – pimvdb
'[^^]' '^^'dışında herhangi bir karakterle eşleşmiyor. Sıfırla eşleşmiyor Gereksinim duyduğunuzda, girişin başlangıcından başka herhangi bir karakter. '(!/[^^] /. test ('^') && /[^^]/.test('x ')) === true' –
herşey-büt-ilk-desen-maç yerine hiçbir JS RegExp var. Ancak, bu davranışı bir işlevi replace
yöntemine ikinci bir bağımsız değişken olarak geçirerek uygulayabilirsiniz.
var regexp = /(foo bar)(red)/g; //Example
var string = "somethingfoo bar red foo bar red red pink foo bar red red";
var first = true;
//The arguments of the function are similar to $0 $1 $2 $3 etc
var fn_replaceBy = function(match, group1, group2){ //group in accordance with RE
if (first) {
first = false;
return match;
}
// Else, deal with RegExp, for example:
return group1 + group2.toUpperCase();
}
string = string.replace(regexp, fn_replaceBy);
//equals string = "something foo bar red foo bar RED red pink foo bar RED red"
Her eşleşme için işlev (fn_replaceBy
) gerçekleştirilir. İlk maçta, işlev hemen eşleşen dizgeyle döner (hiçbir şey olmaz) ve bir bayrak ayarlanır.
Diğer tüm eşlemeler, işlevin açıklandığı gibi mantığa göre değiştirilir: Normal olarak, gruplara geri başvurmak için $0 $1 $2
, ve cetera'yı kullanırsınız. fn_replaceBy
'da, işlev bağımsız değişkenleri şu değerlere eşittir: İlk bağımsız değişken = $0
, ikinci bağımsız değişken = $1
, ve cetera.
Eşleşen alt öğe, fn_replaceBy
işlevinin dönüş değeri ile değiştirilecektir. replace
için ikinci bir parametre olarak bir işlev kullanmak, intelligent HTML parser gibi çok güçlü uygulamalara olanak tanır.
Ayrıca bakınız: MDN: String.replace > Specifying a function as a parameter
"Akıllı HTML ayrıştırıcısı", "regex kullanarak HTML'yi ayrıştır" cevabına bağlanmayacağına ikna olmadım haha. Ama çok güzel bir cevap, ihtiyacım olan şey buydu. :) – henrebotha
"l 5 0 l 0 10 l -5 0 l 0 -10".replace(/^\s+/, '').replace(/\s+l/g, '')
ilk 'l'
değil uzayda öncesinde emin olur ve bir 'l'
ardından herhangi bir boşluk kaldırır.
- 1. değiştirin, tüm dize
- 2. MVC Image Base64 dize dönüştürme, ama ... System.FormatException
- 3. İstisna: Boş dize .... ama nasıl çözeceğini
- 4. Gson: Bir dize bekleniyordu ama BEGIN_OBJECT
- 5. Tüm öğeleri bir diziden ilk alın ama
- 6. Python xlwt: tüm stilleri koru ama bir
- 7. Bash komut tüm ama son 5 dizinleri
- 8. Oracle Tüm tabloları dize için tüm sütunlarda ara
- 9. Dize içindeki tüm çift tırnak işaretlerini değiştirin
- 10. tüm dosyaların bir dize değiştirin - Unix
- 11. Belirli bir karakterin tüm örneklerini dize
- 12. javascript dize içindeki tüm karakterleri silme
- 13. IEnumerable dize dışındaki tüm seçenekleri seçin
- 14. JS regex: tüm basamakları dize ile değiştir
- 15. Dize regexp ruby tüm basamakları nasıl alınır?
- 16. Dize içindeki tüm alfasayısal olmayan karakterleri değiştir
- 17. Dize boşsa veya tüm boşluklar C#
- 18. Php: tüm dizi öğelerinin içine Concatenate dize
- 19. Dize ara - Tüm oluşumları bul PHP
- 20. Dize tüm emoji nasıl kaldırılır - php
- 21. RecyclerView dize kaynak dosyasından doldurmak istiyorum ama çalışmıyor
- 22. JavaScript: virgülle bir dize Yarma ama tırnak içinde virgül görmezden
- 23. Bash. Tüm dosyaları ve dizinleri siliniz ama bazıları
- 24. TableAdapter zaman zaman geri sayım 1 ama tüm boş sütunlar
- 25. xpath tüm metin (seçim) ama özgü etiket/class özelliği
- 26. Değişim JButton degrade renk, ama sadece bir düğme, tüm
- 27. Docker | Tüm kapları nasıl kaldırabilirim ama bir kaç tane
- 28. Android Webview tüm bağlantıları devre dışı bırakabilir ama kaydı etkinleştir
- 29. Tüm sütunları seçer ama bir sütuna göre gruplandır
- 30. Dize
İlk l her zaman dizenin başında mı? –
Bunu istemediğini söylediğinizi biliyorum, ancak ilk boşluğa kadar olan alt dizgeyi okumak ve sürdürmek en kolay yol gibi görünüyor. – Randy
@Mark, bu usecase için evet, hatta 'l', ama aynı zamanda olumsuz bakışlarla da çalışıyor. –