我目前有
preg_replace('/[^0-9]/s', '', $myvariable);
例如输入为 GB -3。我当前的行给了我值 3。我希望能够保持减号,以便该值显示 -3 而不是当前输出 3。
我目前有
preg_replace('/[^0-9]/s', '', $myvariable);
例如输入为 GB -3。我当前的行给了我值 3。我希望能够保持减号,以便该值显示 -3 而不是当前输出 3。
尝试这个 :
preg_replace('/[^\d-]+/', '', $myvariable);
正则表达式的细分:
//
两边都是正则表达式分隔符 - 里面的一切都是正则表达式[]
表示这是字符类。角色等级规则改变^
内部字符类代表“不”。\d
是 [0-9] 的缩写,唯一的区别是它可以在字符类的内部和外部使用-
将匹配减号+
最后是量词,表示这应该匹配一个或多个字符