0

I am using PHP and I am trying to remove all underscore characters from the end and beginning of a string.

Here's the string: ____a_b_c__________
And I want the result to be: a_b_c

I have tried with this regular expression but it's not working:

preg_replace('/[^a-z]+\Z/i', '', '____a_b_c__________');
James
  • 4,644
  • 5
  • 37
  • 48
LargeTuna
  • 2,694
  • 7
  • 46
  • 92

1 Answers1

5

Why not just use trim:

$string = trim($string, '_');

Regex is for pattern matching ___ is not a pattern it's just underlines.

But if I was gonna use a Regex, I'd do something like this:

$string = preg_replace('/^_+|_+$/', '', $string);

For the regular expression

  • ^ is the start of a line
  • _ is underline, the + is one or more
  • | is OR
  • _ is underline, the + is one or more
  • $ is the end of line

Then we just replace it with ''

ArtisticPhoenix
  • 21,464
  • 2
  • 24
  • 38