[解決済み] 正規表現におけるワードバウンダリとは何ですか?
2022-03-04 19:01:15
質問
正規表現を使って、スペースで区切られた数字にマッチさせようとしています。
の正確な定義がわかりません。
\b
("word boundary")です。
私は、次のように考えていました。
-12
は "整数語" になります(quot;整数語にマッチするのは
\b\-?\d+\b
)ですが、これはうまくいかないようです。 .NETの方法を教えていただけるとありがたいです。
[Java 1.6でJava正規表現を使用しています]。
例
Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*");
String plus = " 12 ";
System.out.println(""+pattern.matcher(plus).matches());
String minus = " -12 ";
System.out.println(""+pattern.matcher(minus).matches());
pattern = Pattern.compile("\\s*\\-?\\d+\\s*");
System.out.println(""+pattern.matcher(minus).matches());
これが返ってくる。
true
false
true
解決方法は?
単語境界は、ほとんどの正規表現では、次の間の位置です。
\w
と
\W
(非単語文字)、または文字列の最初と最後がそれぞれ単語文字 (
[0-9A-Za-z_]
).
そのため、文字列の中で
"-12"
ダッシュは単語文字ではありません。
関連
-
[解決済み】正規表現でのコロン記号の使用について
-
[解決済み] アポストロフィの正規表現
-
[解決済み] Apache LocationMatch Regex
-
[解決済み] 正規表現におけるワードバウンダリとは何ですか?
-
[解決済み] 01-12]レンジが期待通りに動作しないのはなぜですか?
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] 正規表現における非捕捉グループとは何ですか?
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] 正規表現を使用した電話番号の検証方法
-
[解決済み] 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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】改行を含む任意の文字にマッチする正規表現
-
[解決済み] MACアドレスの正規表現とは何ですか?
-
[解決済み] PostgreSQL での isnumeric()
-
[解決済み] Apache LocationMatch Regex
-
[解決済み] (grep) 非 ASCII 文字にマッチする正規表現ですか?
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] grep --ignore-case --only
-
[解決済み] 正規表現におけるワードバウンダリとは何ですか?
-
[解決済み] regex オプションのワードマッチ