Apr
16

Cleanup Leading and Trailing Whitespaces

By

Here’s a regular expression to remove the leading and trailing whitespaces from a string:


$str =~ s/^\s*//;    # remove leading whitespaces
$str =~ s/\s*$//;    # remove trailing whitespaces

I have often seen this used to do the same thing:


$str =~ s/\s*(.*?)\s*$/$1/;

According to the book Mastering Regular Expressions by Jeffrey E.F. Friedl, this is slower. The reason he says is that “with each character, before allowing the dot to match, the ‘*?’ must try to see whether what follows can match. That’s a lot of backtracking, particularly since it’s the kind that goes in and out of the parenthesis.”

Categories : Perl

Leave a Comment

You must be logged in to post a comment.