私はJavaで全く初心者です。私は、この正規表現を持っているJavascriptに相当するJava REGEX
JavaScriptで:
/[^0-9.,\-\ ]/gi
は、どのように私はJavaで同じことを行うことができますか?
私はJavaで全く初心者です。私は、この正規表現を持っているJavascriptに相当するJava REGEX
JavaScriptで:
/[^0-9.,\-\ ]/gi
は、どのように私はJavaで同じことを行うことができますか?
とJavaで行うことができますかなり多くhttp://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html Theresの:
Pattern p = Pattern.compile("(?i)[^0-9.,-\ ]");
Matcher m = p.matcher(targetString);
は、次に使用しますあなたが望むマッチを得るためのループ内のマッチャーメソッド。 "i"は大文字小文字を区別しないフラグです(文字が指定されていないので実際には必要ありません)が、 "g"フラグと同等のものは何か分かりません。上記のコードのように、文字列全体を試してみるのではなく、対象の文字列に繰り返しパターンを適用してください。
また、上記のパターンは一度に1文字にしか一致しません。実際には[^0-9.,-\ ]*
が必要です。これは0文字以上の文字に対して貪欲に一致します。もし私があなただったら私はPatternクラスのドキュメントを読むでしょう。
whileループで 'find'メソッドを使うのは、プログレッシブマッチングの'/g'フラグと同じです。 – tchrist
あなたは「スペースでカンマ」と言うことはできません。 HYPHEN-MINUS文字をエスケープします。 – tchrist
エスケープされていないハイフンを文字クラスの最後の文字または最初の文字のいずれかとすると、これも機能します。スペースキャラクターをエスケープする必要はありません! – Eric