私は文字列+6014456
は「 +」正規表現カント日食のJava
のようなものと一致します"\++?"
でチェックする必要があります。しかし、私はこのエラーメッセージをinvalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)
取得....なぜ?
私は文字列+6014456
は「 +」正規表現カント日食のJava
のようなものと一致します"\++?"
でチェックする必要があります。しかし、私はこのエラーメッセージをinvalid escape sequence (valid ones are \b \t \n \f \r \" \' \\)
取得....なぜ?
作品"\++?"
がリテラル有効なJavaではありませんので、それはあなたにエラーを与えている - あなたはバックスラッシュをエスケープする必要があります。これを試してみてください:
Pattern pattern = Pattern.compile("\\++?");
しかし、私はそれはあなたが望む実際正規表現だとは思いません。すなわち、少なくとも一つの数字が続くプラス、\+\d+
の正規表現に対応し
Pattern pattern = Pattern.compile("\\+\\d+");
:あなたは、実際のようなものを意味するものではありません。
ありがとう! "+01445676" .matches( "\\ + \\ d +") – wizztjh
「\\ +」のようにはなりません。 ?
Pattern pattern = Pattern.compile("\\++?");
System.out.println(pattern.matcher("+9970").find());
私にとって
私はあなたの '.matches()'呼び出しをマッチさせて – wizztjh
と書いています。あなたの実際の主張が何であるかは明らかではありません。 –
InMessage.matches( "\ ++?") – wizztjh