正则表达式删除非字母数字字符和点后的所有字符?

Regex to remove non-alphanumeric characters and all characters after dot?

我需要一个正则表达式 (php) 来删除字符串中的正斜杠、点和点之后的所有内容,以便

$str = "ab/12c.3de";

变成

$newstr = "ab12c";

您可以在正则表达式中使用交替:

$str = "ab/12c.3de";
$newstr = preg_replace('~/|\..*~', '', $str);
//=> ab12c
  • 正则表达式:/|\..*

  • / 匹配文字 /

  • | 或(交替)
  • \..* 匹配一个点及其后的所有内容

仅替换为空字符串。