2012-10-26 20 views
10

Bir metne sahibim, içindeki tüm sayıları nasıl kendim alabilirim? değerlendirme değiştirici ve ikinci bölümde keyfi perl kodları koyabilirsiniz -Perl regex sayıları kendileriyle değiştirin, sadece bir tane daha yüksek

$buffer_content=~s/(\d)/($1++)/g; 
+0

Eğer bu olayla yanıt olarak ne elde ettiniz? Sadece literal dize "2 ++"? Ayrıca, bir rakamdan daha büyük uzunluklarla çalışmak için buna ihtiyacınız var mı? – glenatron

+1

Bu _may_ sadece regex'in en kötü kullanımı için nitelendirdi :-) – paxdiablo

+0

neden? ___________ –

cevap

14

Kullanım s///e:

aşağıdaki gibi şeyler denedim.

$x = "hello 3"; 
$x =~ s/([0-9]+)/$1 + 1/eg; 
print $x; 

// hello 4 

ref: http://perldoc.perl.org/perlretut.html#Search-and-replace

+0

kodunuz bana basit faktöryel hesaplama 'baskı 'giriş faktöryel numarası \ n>' hakkında hatırlatır; $ _ = <>; $ _ = katıl "", (1 .. $ _); 1while (s/(\ d +) \ s (\ d +)/$ 1 * $ 2/e); yazdırma; ' – gaussblurinc

İlgili konular