8

私は現在持っています

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

たとえば、入力はGB-3です。私の現在の行は私に値3を与えています。私は値が3の現在の出力の代わりに-3を示すようにマイナスを維持できるようにしたいです。

4

1 に答える 1

14

これを試して :

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

正規表現の内訳:

  • //両側に正規表現の区切り文字があります-内部にあるものはすべて正規表現です
  • []これは文字クラスであることを意味します。キャラクタークラスのルール変更
  • ^内部文字クラスは「not」を表します。
  • \dは[0-9]の略で、唯一の違いは、文字クラスの内部と外部の両方で使用できることです。
  • -マイナス記号と一致します
  • +最後に数量詞です。これは、1つ以上の文字と一致する必要があることを意味します
于 2012-08-10T02:16:16.550 に答える