-3

文字列から数値を抽出するための正規表現を見つけようとしています。現在、私は文字列を持っています:

USD0,13

だけを検索したいのですが0,13

たとえば、数字を含む他の文字列がありますUSD1,14

どんな助けでも素晴らしいでしょう。乾杯

4

2 に答える 2

1

あなたの場合の最も簡単なものはこれでしょう:

'/[0-9,]+/'

PHPの場合

$str = 'USD0,13';
$matches = array();
preg_match('/[0-9,]+/', $str, $matches);
echo $matches[0];
于 2012-11-08T11:54:05.350 に答える
1

の正規表現は、/USD([0-9,\.]+)/必要なことを実行する必要があります。1000個のセパレータがない限り、ドットは必ずしも必要ではありません(EU標準を使用しているように見えることを考慮して)。

複数の通貨が必要な場合は、次のようにすることができます/(EUR|GBP|USD)([0-9\,\.]+)/

あなたは正規表現にかなり慣れていないように見えるので、私は説明します:

/は正規表現の修飾子です(これは何でもかまいませんが、正規表現の最も一般的な文字であるスラッシュを使用します)。/regex/i大文字と小文字を区別したい場合は、たとえば、大文字と小文字を区別することができますi

USDUは、の後に続くの文字リストSですD

()これは、正規表現でこの一致を出力することを意味します。

[0-9,\.]からの数字、コンマ、ドットを意味0します(正規表現では「任意の文字」を意味する9ため、ドットはエスケープする必要があることに注意してください)。.

+ 私たちの試合の後には、 「この試合に一致するものはすべて、1回以上繰り返される」という意味が続きます。

に切り替えUSDた2番目の例(EUR|GBP|USD)。これは、「EUR」または「GBP」または「USD」を意味します。

他にご不明な点がございましたら、お気軽にお問い合わせください。

于 2012-11-08T11:57:05.433 に答える