私はこのパターンがあります。負の数のJava正規表現ですか?
Pattern.compile("T([0-9]*)");
正の数のために正常に動作しますが、私はそれが動作するはずインスタンス「T-1T3T44」のために負の数をも行う必要があります。または、 'T'の代わりにスペースを使用すると、 " - 1 2 3 2 -1 6 2"のような文字列で動作するはずです。申し訳ありません。私は正規表現を実際に使用していません。ありがとう。
私はこのパターンがあります。負の数のJava正規表現ですか?
Pattern.compile("T([0-9]*)");
正の数のために正常に動作しますが、私はそれが動作するはずインスタンス「T-1T3T44」のために負の数をも行う必要があります。または、 'T'の代わりにスペースを使用すると、 " - 1 2 3 2 -1 6 2"のような文字列で動作するはずです。申し訳ありません。私は正規表現を実際に使用していません。ありがとう。
あなたがしようと考えたことがあり:
"T(-?[0-9]+)"
を""
は技術的には数ではないので、あなたは私が"+"
(1以上)に"*"
(ゼロ以上)も変更しました気づくでしょう: - )
これは、以下のことを可能にするので、これは正しくありません。ゼロは負であってはいけません。それに対処する方法を見るには、私の答えを見てください。 – Lukasz
@Fofole:はい、正規表現のスペースで置き換えても問題ありません。ルーカス、はい、負のゼロを許可しない場合は、もっと複雑なものが必要です。個人的には、肛門保持ステージに近づいていると思いますが、あなたの視点がわかります:-) – paxdiablo
ありがとうございました。これは理解しやすく、実際には文字列を正しく構築するために-0を確認する必要はありませんので、これを受け入れられた答えとしてフラグを立てます。誰もがこれについて幸せであることを願っています。 – Fofole
Pattern.compile("T-?([0-9]*)");
で試してみてください:
Pattern.compile("T(-?[0-9]*)");
M akeマイナスオプションかもしれない?
T - ([0-9] *)
Pattern.compile("T(-{0,1}(?!0)\\d+)");
除外するために、負の先読み(?!0)
の使用を注意してください-0数と0で始まる番号
のhttp:/? /regexlib.com/DisplayPatterns.aspx?cattabindex=2&categoryId=3 – vulkanino
申し訳ありませんが、Tの代わりにスペースのために私の答えを編集しました。 – Fofole