私は、おそらく+若しくはによって先行ない 介在シンボルと符号付きおよび符号なし整数定数を返すことができる必要があります。唯一許さ数字は、私は式が整数の前または後にピリオドを含んではならないと言うする方法を把握することはできません3、4、および5Java RegEx - "。"を含まない整数の場合 -
です。
これは私がこれまで持っているものですが、私は合格した場合は、「34.5から43」と言う文字列が返さは次のようになります。「34 5 43」。戻す必要がある
すべてが「43」です。
public String getInts(String toBeScanned){
String INT = "";
Pattern p = Pattern.compile("\\b[+-]?[3-5]+\\b");
Matcher m = p.matcher(toBeScanned);
if (m.matches() == true){
INT = toBeScanned;
}
else{
m = p.matcher(" " + toBeScanned);
while (m.find()){
INT = INT + m.group() + " ";
}
}
return INT;
}
正しい方向への思考やプッシュは高く評価されます。最初と最後の文字ができることそれを言うする方法がある[B \としない。]これが私のうちの一体をイライラさせられる
。助けて!
"\\ b?(?:([+ - ]?[3-5。] +)?)+ \ b?"マッチャーの最後のグループを取得しますか? –
実際には、 '\ b'はJavaパターンの中で単語境界***として壊れています。***あなたが**使用しているのは、Javaのネイティブ文字セットではなく7ビット文字だけです**その他**あなたは[ Java 7 Pattern.UNICODE_CHARACTER_CLASS](http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#UNICODE_CHARACTER_CLASS)コンパイルオプションまたは同等の埋込み '"(?U) "'フラグ。したがって、7ビットのデータを持っていることを確認するか、新しいフラグを使用するか、そうでなければ '\ b'を使用しないでください。 – tchrist