[解決済み] Regex not 演算子
2022-03-12 14:22:30
質問
RegexesにNOT演算子はありますか?
この文字列のように:
"(2001) (asdf) (dasd1123_asd 21.01.2011 zqge)(dzqge) name (20019)"
をすべて削除したい。
\([0-9a-zA-z _\.\-:]*\)
が、年号になっているものはダメです。
(2001)
.
ということは、正規表現が返すべきものは、こうでなければならない。
(2001) name
.
注:以下のようなもの
\((?![\d]){4}[0-9a-zA-z _\.\-:]*\)
は私の場合うまくいきません(
(20019)
もなぜかマッチします...)
解決方法は?
いいえ、直接的なnot演算子はありません。少なくとも、あなたが望むような方法はありません。
ただし、ゼロ幅の負のルックヘッドを使用することは可能です。
\((?!2001)[0-9a-zA-z _\.\-:]*\)
は
(?!...)
の部分は、「テキストが
以下
(したがって、ルックアヘッド) これは
はしません。
(だから否定的)にマッチします。しかし、実際には
消費する
という文字にマッチします(したがって、ゼロ幅)。
の組み合わせは、実際には4通りあります。 ルックアラウンド を2軸にしたものです。
- lookbehind / lookahead :文字が、(1)と(2)のどちらであるか指定します。 前 または 後 を考慮します。
- 正 / 負 : 文字が正であるか負であるかを指定します。 が必要です。 と一致するか はしてはならない にマッチします。
関連
最新
-
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 Last occurrence?
-
[解決済み] URLにセミコロンが含まれていても、有効なのでしょうか?
-
[解決済み] Kibanaクエリの完全一致
-
[解決済み] Regex オプション文字にマッチさせる方法
-
[解決済み] 正規表現[^ΘdΘs]と[ΘdΘs]の違いは何ですか?
-
[解決済み] what meas this regex (.*1) [duplicate] (重複)
-
[解決済み] 正規表現で複数行にまたがる任意の文字にマッチさせるにはどうしたらよいですか?
-
[解決済み] 正規表現 - Gmailアドレスの検証
-
[解決済み] 正規表現におけるバックスラッシュの後の数値の意味は?
-
[解決済み] Grepの「Invalid range end」-バグか機能か?