6.4. Usuwanie początkowych zer

Problem

Chcemy dopasowywać liczby całkowite i albo zwracać te liczby bez początkowych zer, albo usuwać początkowe zera z przetwarzanego łańcucha.

Rozwiązanie

Wyrażenie regularne

  • \b0*([1-9][0-9]*|0)\b

    • Opcje wyrażenia regularnego: Brak

    • Odmiany wyrażeń regularnych: .NET, Java, JavaScript, PCRE, Perl, Python, Ruby

Tekst docelowy

  • $1

    • Odmiany tekstu docelowego: .NET, Java, JavaScript, PHP, Perl

  • \1

    • Odmiany tekstu docelowego: PHP, Python, Ruby

Uzyskiwanie liczb w Perlu

while ($subject =~ m/\b0*([1-9][0-9]*|0)\b/g) {
    push(@list, $1);
}

Eliminowanie początkowych zer w PHP

$result = preg_replace('/\b0*([1-9][0-9]*|0)\b/', '$1', $subject);

Analiza

W zaproponowanym rozwiązaniu wykorzystaliśmy grupę przechwytującą do oddzielenia liczby od poprzedzających ...

Get Wyrażenia regularne. Receptury now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.