問題タブ [word-boundary]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 厳密に $ で始まる単語を検索する、正規表現 C#
厳密に「$」で始まり、数字のみを含む単語のすべての一致を見つける必要があります。だから私は書いた
それは私に4つのマッチを与えました
そこで、\b を使用して単語境界を使用することを考えました。
でもまた似合ってた
私には20ドル。
私は試した
しかし、私は失敗しました。
私は、単語が$で始まり、その後に数字が続く場合にのみ受け入れてください。IT STARTS WITH $ をどのように伝えるのですか? \b は、英数字で囲まれた単語境界を想定していると思われるためです。
解決策は何ですか?
regex - AS3 RegExpは、境界タイプの文字を含む単語を照合します
単語のリストを一致させたいのですが、それらの単語が本当に単語である場合は簡単です。たとえば/\b (pop|push) \b/gsx
、文字列に対して実行された場合
ポップはドアを押しましたが、ポップバックしました
popとpushという単語に一致しますが、popされません。
通常は単語の境界と見なされる文字を含む単語にも同様の機能が必要です。だから私/\b (reverse!|push) \b/gsx
は文字列に対して実行されたときに必要です
リバースプッシュ!リバース!プッシュ
逆にのみ一致する!押しますが、逆に一致しません!押します。明らかに、この正規表現はそれを行わないので、これらのファンキーな要件を処理するのに十分なほどスマートに正規表現を作成するには、\ bの代わりに何を使用する必要がありますか?
regex - 正規表現の単語境界とは何ですか?
スペースで区切られた数値と一致させるために正規表現を使用しようとしています。\b
(「単語の境界」)の正確な定義が見つかりません。私はそれ-12
が「整数の単語」(と一致する \b\-?\d+\b
)であると想定していましたが、これは機能しないようです。の方法を知っていただければ幸いです。
[Java1.6でJava正規表現を使用しています]
例:
これは次を返します:
regex - \bの正規表現
JavaでUnicodeテキストの正規表現を書いています。ただし、私が使用している特定のスクリプト(デーバナーガリー(0900〜097F))では、単語の境界に問題があります。\ bは、従属母音(093E-094Cなど)である文字と一致します。これらはスペース文字のように扱われるためです。
例:次の文字列があるとします。同様に最後の言葉で。これにより、\bは「कमाल」の「ल」を正規表現\b \ w \ bと一致させますが、これは言語によっては正しくありません。
この例がお役に立てば幸いです。
特定の文字と一致しないことを除いて、\ bのように動作する正規表現を記述できますか?フィードバックはありがたいです。
regex - ユニコード分音符号を使用した正規表現の単語区切り
ユーザーからの入力に基づいて正規表現を使用してテキストを検索するアプリケーションに取り組んでいます。ユーザーが持つ 1 つのオプションは、アスタリスクを使用して「0 個以上の文字に一致」ワイルドカードを含めることです。これは、単語の境界間でのみ一致する必要があります。私の最初の試みは、すべてのアスタリスクを に変換する(?:(?=\B).)*
ことでした。これは、ほとんどの場合にうまく機能します。失敗するのは、どうやら.Netが分音符号のあるUnicode文字と別の文字の間の位置を単語区切りと見なしていることです。これはバグであると考えており、Microsoft フィードバック サイトに送信しました。
ただし、それまでの間、機能を実装して製品を出荷する必要があります。代替テキストとしての使用を検討し[\p{L}\p{M}\p{N}\p{Pc}]*
ていますが、率直に言って「これが何をするのかよく分からない」状態です。つまり、仕様を読むことはできますが、これを十分にテストして、期待どおりに動作していることを確認できる自信はありません。テストする境界条件をすべて知っているわけではありません。アプリケーションは異文化間の労働者によって使用され、その多くは部族の場所にいるため、ゼロ幅の単語区切りを使用するものを含め、ありとあらゆる書記体系をサポートする必要があります。
誰かがより洗練された解決策を持っているか、上記のコードを確認/修正できますか、またはいくつかの指針を提供できますか?
ご協力いただきありがとうございます。
regex - 正規表現は単語全体にのみ一致します
データベースに保存されている用語集に含まれている、大文字と小文字を区別しない特定のコンテンツブロック内のすべての単語を検索するために使用している正規表現があります。これが私のパターンです:
問題は、私が使用する場合、 get/(Foo)/i
のような単語Food
が一致することです。単語の両側に空白または単語の境界が必要です。
Foo
文の最初、途中、または最後の単語である場合に、その単語のみに一致するように式を変更するにはどうすればよいですか?
mysql - mysql: instr で単語境界を指定
文字列にフィールド値が部分文字列として含まれているかどうかを確認したい。
select * from mytable where instr("mystring", column_name);
ただし、これは単語の境界を検索しません。
select * from mytable where instr("mystring", concat('[[:<:]]',column_name,'[[:>:]]');
どちらも機能しません。これを修正するには?
regex - XSLT 2.0 と REGEX (\b 単語境界を持たない) を使用してテキスト内の単語を見つける方法は?
単語の文字列をスキャンして、REGEX を使用して XSLT 2.0 スタイルシートで特定の単語 (大文字と小文字を区別しない) の存在を探しています。
繰り返し処理して、特定の文字列内に存在するかどうかを判断したい単語のリストがあります。
与えられたテキスト内の任意の単語に一致させたいが、単語内では一致させたくない(つまり、「d」の検索は一致してはfoo
ならず、「 re 」の検索は一致してはならない)。foo
bar
bar
XSLT 2.0 REGEX には単語の境界 ( \b
) がないため、できる限り複製する必要があります。
php - utf-8でのphp正規表現の単語境界マッチング
utf-8phpファイルに次のphpコードがあります。
最後の正規表現では、単語の一部ではなく、完全な単語のみを置き換えてください。
私のWindowsコンピュータでは、次のように返されます。
Webサーバー(Linux)では、次のようになります。
したがって、正規表現はWindowsでは期待どおりに機能しますが、Linuxでは機能しません。
したがって、主な質問は、単語の境界でのみ一致するように正規表現をどのように記述すればよいかということです。
2番目の質問は、phpアプリケーションでutf-8を使用することをWindowsに通知する方法です。