ile bir modelin yalnızca son oluşumunu değiştirmek için normal ifadeyi kullanma Belirli bir deseni başka biriyle değiştirmeye çalıştığım bir durum var. Benim sorunum, sadece o desenin son oluşumunu değiştirmem gerektiğiydi, hepsi değil. Ben bu soruyu buldum:JS
How to replace last occurrence of characters in a string using javascript
Ama benim ihtiyaçlarına uygun değildir. bir arka plan olarak, sana bir CSS kuralını değiştirmeye çalışıyorum diyecekler, ancak mevcut örneğin bu metinde bakalım:
abcd:bka:
bbb:aad:
accx:aaa:
bbb:a0d:
cczc:aaa:
Sadece bbb değerini değiştirmek istiyor diyelim. Benim şu anki kural
text.replace(/(\s*bbb:)([^:]+)/,"$1aaa")
olacak ama sonuncuyu değiştirmek isterken sadece ilk maçı değiştirecektir. Şu anki modelim aslında bundan daha karmaşık, ancak sözde sorunun yeterli olacağını düşünüyorum.
Bu cevabı beğeniyorum: http://stackoverflow.com/questions/843049/how-to-replace-last-occurence-of-a-word-in-javascript Örtmek için (. *) Ile önsöz eşleşmeden önce mümkün olduğunca. –
@PeterEhrlich: '[\ s \ S] * 'yerine kullanmanız gerekir (nokta yeni satırlarla uyuşmuyor) ve genellikle'. * 'Gibi belirsiz ifadeleri kullanmaya açık olmayı tercih ederim. de çalışırdı. Performansının benimkinden daha iyi veya daha kötü olup olmayacağı, üzerinde kullanıldığı gerçek metne bağlı. Büyük metinlerde daha da kötüye gideceğinden şüpheleniyorum çünkü tüm bu geri dönüşler '' '. –