gpt4 book ai didi

php - 用 PHP 正则表达式替换字符串开头的数字、破折号、点或空格

转载 作者:行者123 更新时间:2023-12-02 17:32:22 26 4
gpt4 key购买 nike

我试图用字符串开头的可选、破折号、点或空格替换数字,我的模式似乎不起作用。我想替换这个:

01. PHP
02 HTML5
03. - CSS3

PHP
HTML5
CSS3

我的代码如下:

$t = trim($_POST['test']);
$pattern = '/^[\d{0,4}(. -)?]/';
if(preg_match($pattern, $t)){
echo preg_replace($pattern,'', $t);
}else{
echo 'No';
}

最佳答案

您的正则表达式 - /^[\d{0,4}(. -)?]/ - 匹配字符串的开头,然后是 1 个字符:一个数字,或者 {,或者 0,或者 ,或者 ,或者(,或者一个点,或者一个空格到的范围)(即一个空格,!"#$%&'和一个 >),或者问号。因此,它只能在您描述的有限数量的情况下工作。

就用

preg_replace('/^[\d .-]+/','', $t);

在这里,

  • ^ - 匹配字符串/行的开头
  • [\d .-]+ 匹配数字、空格、点或连字符 1 次或多次 d

参见 demo

请注意,如果有多行,则需要 (?m) 修饰符。

preg_replace('/(?m)^[\d .-]+/','', $t);

这是一个 IDEONE demo

注意:如果您打算从字符串的开头删除任何不是字母的内容,我建议使用 ^\P{L}+ regex使用 u 修饰符。

关于php - 用 PHP 正则表达式替换字符串开头的数字、破折号、点或空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31638344/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com