我正在使用 PHP,并且尝试删除字符串末尾和开头的所有下划线字符。
这是字符串:____a_b_c__________
我希望结果是:a_b_c
我尝试过这个正则表达式,但它不起作用:
preg_replace('/[^a-z]+\Z/i', '', '____a_b_c__________');
Run Code Online (Sandbox Code Playgroud)
为什么不直接使用修剪:
$string = trim($string, '_');
Run Code Online (Sandbox Code Playgroud)
正则表达式用于模式匹配,___它不是模式,而是下划线。
但如果我要使用正则表达式,我会这样做:
$string = preg_replace('/^_+|_+$/', '', $string);
Run Code Online (Sandbox Code Playgroud)
对于正则表达式
^是一行的开始_是下划线的,+是一个或多个|是或_是下划线的,+是一个或多个$是行尾然后我们只需将其替换为''