我目前已经
了preg_replace('/[^0-9]/s', '', $myvariable);
例如输入为GB -3。我的当前行给了我值3.我希望能够保持减号,使得值显示-3而不是当前输出3。
答案 0 :(得分:12)
试试这个:
preg_replace('/[^\d-]+/', '', $myvariable);
正则表达式的细分:
//
是正则表达式分隔符 - 里面的所有内容都是正则表达式[]
表示这是字符类。 Rules change in character class ^
代表“不”。\d
是[0-9]的缩写,唯一的区别是它可以在字符类的内部和外部使用-
将匹配减号+
到底是量词,这意味着它应匹配一个或多个字符