我目前有

preg_replace('/[^0-9]/s', '', $myvariable);

例如,输入为GB -3。我当前的行给我值3。我希望能够保持减号,以便该值显示-3而不是当前输出3。

最佳答案

试试这个 :

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

正则表达式细目:

两侧的
  • //是regex分隔符-内部的所有内容都是regex
  • []表示这是字符类。 Rules change in character class
  • 字符类中的
  • ^代表“不”。
  • \d是[0-9]的缩写,唯一的区别是,它可以在字符类
  • 的内部和外部使用。
  • -将匹配减号
  • +最终是量词,这意味着它应该匹配一个或多个字符
  • 关于php - 删除除数字和减号之外的所有内容PHP preg_replace,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11894570/

    10-11 03:56