[解決済み] Javaで正規表現を使って値を抽出する
2022-04-21 21:13:16
質問
ラフな形の文字列がいくつかあります。
[some text] [some number] [some more text]
Java Regexクラスを使って、[ある数字]のテキストを抽出したい。
使いたい正規表現は大体わかっています(提案は大歓迎です)。私が本当に興味があるのは、正規表現文字列を取得し、ソースデータ上でそれを使用して[ある数字]の値を生成するためのJavaコールです。
EDIT: 付け加えると、私は1つの[some number]にしか興味がありません(基本的に、最初のインスタンス)。ソースの文字列は短いので、[some number]の複数回の出現を探すつもりはありません。
どのように解決するのですか?
完全な例です。
private static final Pattern p = Pattern.compile("^([a-zA-Z]+)([0-9]+)(.*)");
public static void main(String[] args) {
// create matcher for pattern p and given string
Matcher m = p.matcher("Testing123Testing");
// if an occurrence if a pattern was found in a given string...
if (m.find()) {
// ...then you can use group() methods.
System.out.println(m.group(0)); // whole matched expression
System.out.println(m.group(1)); // first expression from round brackets (Testing)
System.out.println(m.group(2)); // second one (123)
System.out.println(m.group(3)); // third one (Testing)
}
}
最初の数字を探すのだから、このような正規表現が使える。
^\D+(\d+).*
と
m.group(1)
は、最初の数字を返します。なお、符号付き数値はマイナスを含むことができる。
^\D+(-?\d+).*
関連
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
Eclipse起動エラー:javaは起動したが、終了コード=1を返した(ネット上の様々な落とし穴)
-
コミットには何も追加されないが、未追跡のファイルが存在し、gitで未追跡のファイルに対する完璧な解決策
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] JavaでInputStreamを読み込んでStringに変換するにはどうすればよいですか?
-
[解決済み] JavaでNullPointerExceptionを回避する方法
-
[解決済み] JavaにおけるHashMapとHashtableの違いは何ですか?
-
[解決済み] Javaで文字列値からenum値を取得する方法
-
[解決済み] 正規表現における非捕捉グループとは何ですか?
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
IllegalArgumentException この例外を解決する方法
-
eclipse アクセス制限です。タイプ 'xxx' は API ではありません(必須ライブラリ '' の制限)。
-
Eclipseで "XXXX "の解決策を(型に)解決することができない
-
Javaクラスローダーにソースコードから潜り込む
-
javaの模造品QQ WeChatのチャットルーム
-
サーブレットクラスのインスタンス化エラーの解決法
-
スレッド "main" での例外 java.lang.ArrayIndexOutOfBoundsException: 1
-
リソースの読み込みに失敗しました。サーバーはステータス500(内部サーバーエラー)で応答しました。
-
javaでクラスを作成すると、enclosing classでないように見える
-
Google Chromeのエラー「Not allowed to load local resource」の解決策について