删除除数字和减号之外的所有内容PHP preg_replace

Tim*_*ols 8 php regex preg-replace

我现在有

preg_replace('/[^0-9]/s', '', $myvariable); 
Run Code Online (Sandbox Code Playgroud)

例如,输入为GB -3.我的当前行给出了值3.我希望能够保持减号,使得值显示-3而不是当前输出3.

Ous*_*ama 12

试试这个 :

preg_replace('/[^\d-]+/', '', $myvariable); 
Run Code Online (Sandbox Code Playgroud)

正则表达式的细分:

  • // 两边都是正则表达式分隔符 - 里面的一切都是正则表达式
  • []意味着这是字符类.规则在字符类中更改
  • ^ 里面的字符类代表"不".
  • \d 是[0-9]的缩写,唯一的区别是它可以在字符类的内部和外部使用
  • - 将匹配减号
  • + 最后是量词,这意味着它应匹配一个或多个字符