[解決済み] 特定の文字が後にない'単語'を探す
質問
を検索するための正規表現は何ですか?
word
という文字列が続いていない
@
記号を使用しますか?
例えば、こんな感じです。
mywordLLD OK
myword.dff OK
myword@ld Exclude
解決方法は?
その
(?!@)
ネガティブ
ルックアヘッド
を作ることになります。
word
が一致する場合のみ
@
が表示されない場合
の直後に
word
:
word(?!@)
があるときにマッチを失敗させる必要がある場合
word
の後に文字/文字列が続く場合
の右側にある
の場合、以下の3つのどれを使ってもよい。
word(?!.*@) # Note this will require @ to be on the same line as word
(?s)word(?!.*@) # (except Ruby, where you need (?m)): This will check for @ anywhere...
word(?![\s\S]*@) # ... after word even if it is on the next line(s)
参照 デモ
この正規表現は
word
の部分文字列と
(?!@)
がないことを確認します。
@
の直後で、もしそれがあれば
word
はマッチとして返されない(つまり、マッチした
失敗
).
から 正規表現.info :
<ブロッククオート
ネガティブ・ルックアヘッド
は、何かに続いていないものをマッチさせたい場合に必要不可欠なものです。を説明する場合
文字クラス
,
のマッチングに否定された文字クラスが使えない理由を説明しました。
q
の後に
u
. 負のルックアヘッドが解決策を提供します。
q(?!u)
. 負のルックアヘッド構成は
2つの括弧があり、開括弧の後にクエスチョンマークとエクスクラメーションポイントがあります。
.
そして 文字クラス のページをご覧ください。
否定された文字クラスは、依然として文字と一致しなければならないことを覚えておくことが重要です。
q[^u]
を意味するものではありません。q
が付いていないu
"です。という意味です。q
でない文字が続くとu
"です。とは一致しません。q
という文字列の中にIraq
. これはq
の後のスペースはq
のイラクは国です。確かに:スペースは全体のマッチの一部になります、なぜならそれは"文字がu
上記の正規表現で否定された文字クラスがマッチするのは "です。もしこの正規表現がq
のみでありq
という文字列がありますが、両方の文字列で 負のルックアヘッド :q(?!u)
.
関連
-
[解決済み] bashスクリプトで「cd `echo $0 | sed 's/(.***)\/.*/**1/'` 」はどうするのですか?
-
[解決済み] GNU sed の lookahead 正規表現がおかしいのですが?
-
[解決済み] この文字にマッチしない」という意味の正規表現演算子はどれ?
-
[解決済み] 単語を含まない行にマッチする正規表現
-
[解決済み] XHTMLの自己完結型タグを除くオープンタグにマッチするRegEx
-
[解決済み] JavaScriptの正規表現でマッチしたグループにアクセスするにはどうすればよいですか?
-
[解決済み] JSで文字列が正規表現にマッチするかどうかをチェックする
-
[解決済み] 正規表現で「この文字列までなら何でもあり」にマッチさせるには?
-
[解決済み] JavaScriptにRegExp.escape関数はありますか?
-
[解決済み】ある単語/文字列を除外する正規表現
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Regex:最初に出現する文字までのマッチング
-
[解決済み] アポストロフィの正規表現
-
[解決済み] 浮動小数点数に対する正規表現
-
[解決済み] bashスクリプトで「cd `echo $0 | sed 's/(.***)\/.*/**1/'` 」はどうするのですか?
-
[解決済み] (grep) 非 ASCII 文字にマッチする正規表現ですか?
-
[解決済み] 正規表現の末尾にある中括弧内のカンマ区切りの数字は何を意味するのですか?
-
[解決済み] Regexの複数マッチの部分文字列
-
[解決済み] アドレスフィールド検証のための正規表現
-
[解決済み] 展開された正規表現では、どのように解釈されますか?
-
[解決済み] 正規表現、空白文字とコロンを除くすべての非英数字文字