我正在使用PHP,我试图从字符串的结尾和开头删除所有下划线字符。
这是字符串:____a_b_c__________
我希望结果为:a_b_c
我尝试过这个正则表达式,但它不起作用:
preg_replace('/[^a-z]+\Z/i', '', '____a_b_c__________');
答案 0 :(得分:4)
为什么不使用trim:
$string = trim($string, '_');
正则表达式用于模式匹配___
不是它强调的模式。
但如果我要使用正则表达式,我会做这样的事情:
$string = preg_replace('/^_+|_+$/', '', $string);
用于正则表达式
^
是一行的开头_
为下划线,+
为一个或多个|
是OR _
为下划线,+
为一个或多个$
是行尾然后我们将其替换为''