2011-12-24 11 views
5

Köşeli parantezler arasında bir numaralar listesi var ve tam sayılardan önce ve sonra sözcük eklemem gerekiyor (yani aynı sayıları sakla). Değiştirmek için notepad ++ kullanıyorum, ancak başka bir programla ilgili bir çözümünüz varsa lütfen öneride bulunun.Numaralar öncesi ve sonrası karakterleri eklemek için normal ifade

Örnek:

text [121] othertext 
moretext [16] othertextmore 
andtext [5940] othertextplus 

sonuç:

text xxxxxxxxx [121] xxxxxxxxx othertext 
moretext xxxxxxxxx [16] xxxxxxxxx othertextmore 
andtext xxxxxxxxx [5940] xxxxxxxxx othertextplus 

sayılar elbette \d+ vardır ama seyir aynı numaraları tutmak için bunu söylemek istiyorum.

+0

eşik regex aynı kalır iken, kod değişir: Hangi dil? –

cevap

16

Ne bul: (\[\d+])

ile değiştirin: xxxxxxxxx \1 xxxxxxxxx

enter image description here

+0

Mükemmel .. Teşekkürler :) – Mike

+1

@Mike - Soldaki işarete tıklayarak cevabı kabul edebilirsiniz. – manojlds

+0

Yine de tüm maçı kullanacaksanız parantez gerekmez - xxxxxx \ 0 xxxxxx' ile değiştirin. –

2

C#: analog

line=Regex.Replace(line,@"([^\[])(\[\d+\])(.*)","$1xxxxxxxxx $2 xxxxxxxxx$3"); 

Diğer diller

0

Düzenli ifade:

Find regex = \[\d+\] 
Replace regex = xxxxxxxxx$&xxxxxxxxx 


bakın: regexr