[解決済み] 句読点に関する正規表現
2022-02-12 11:46:07
質問事項
ということで、私は全く初めて
正規表現
を使おうとしているのですが、Javaの
java.util.regex
入力文字列の中の句読点を見つけるために (1) !, ?, ., ... はすべて有効な句読点であり、(2) "<" と ">" は何か特別な意味があり、句読点として数えられないことを除いて、事前にどのような句読点を得ることができるかを知ることはできない。
プログラム自体が擬似的にランダムにフレーズを構築するので、ランダムなプロセスを経る前に文末の句読点を取り除きたいのです。
単語全体と任意の句読点をマッチングさせることができますが、マッチャーはその単語のインデックスを与えるだけです。つまり
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher([some input string]);
を含むすべての単語を取得します。
"!"
を末尾に付けます。例えば
String inputString = "It is a warm Summer day!";
Pattern p = Pattern.compile("(.*\\!)*?");
Matcher m = p.matcher(inputString);
String match = inputString.substring(m.start(), m.end());
は --> String match ~ "day!".に該当します。
しかし、私は
Matcher
のみで構成されます。
"!"
というように、分割すればいいんです。
ケースを作ることができるかもしれませんし
String.substring(...)
のような句読点が出るかもしれませんが、正規表現の使い方に間違いがなければいいのですが...。
どのように解決するのですか?
私なら、次のような文字クラスの正規表現を試します。
"[.!?\\-]"
の中に、マッチさせたい文字を追加してください。
[]
s. 正規表現パーサーが特別な意味を持つ可能性のある文字をエスケープすることに注意してください。
次に、マッチしたものを繰り返し処理するために
Matcher.find()
がfalseを返すまで。
関連
-
[解決済み】javaで指定されたファイルが見つからない
-
[解決済み】CreateProcess error=2, The system cannot find file specified.
-
[解決済み] 正規表現で変数を使うには?
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] 正規表現における非捕捉グループとは何ですか?
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] 有効な正規表現を検出するための正規表現はありますか?
-
[解決済み] 正規表現における「lazy」「greedy」の意味とは?
-
[解決済み] jQueryセレクタの正規表現
-
[解決済み] 貪欲 vs. 渋い vs. 所有格の修飾語
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Doubleはdereferencedできない?
-
[解決済み] hibernate のプロパティが見つかりません。
-
[解決済み】Gradleがtools.jarを見つけ出さない
-
[解決済み】java.io.IOException: 壊れたパイプ
-
[解決済み】Javaの未処理例外について
-
[解決済み] エラー - trustAnchors パラメータは空であってはなりません。
-
[解決済み】Javaの".class expected "について
-
[解決済み】koch snowflake java recursion
-
[解決済み] SQLエラー。0, SQLState: 08S01 通信リンクの失敗 [重複]。
-
[解決済み】CreateProcess error=2, The system cannot find file specified.