すべての入力文字列を拒否する正規表現を構築することは可能ですか?すべての入力を拒否する正規表現ですか?
答えて
をおそらくこの:
[^\w\W]
ワット\ - 単語の文字(文字、数字、など)
が\ W -
[W \の反対^ \ w \ W] - 文字クラス - \ wまたは\ Wのいずれかに属している必要があるため、常に失敗します。
別のスニペット:
$.^
$は - ライン
の開始位置を主張 -
^文字列の最後に位置を主張します。 - 任意の文字
(?#it's just a comment inside of empty regex)
空の先読み/背後に動作するはずです:
(?<!)
空文字列はどうですか? –
クリスコンウェイ、あなたは冗談を言っていますか? :) – aku
いいえ空でない文字列と一致するこれらの正規表現の外観。空の文字列はどうですか?それも可能な入力です。 –
なぜあなたもそれをしたいですか?文章がそのトリックをするならば、簡単なことではないでしょうか?線に沿って何か:
if (inputString != "")
doSomething()
[^ \ x00- \ XFF]
まあ、私は理解している場合、私はわからない
、私はいつも文字列にマッチする方法の正規表現を考えていたからです。私はあなたが持っている最高のショットは正規表現を使用していないと言うでしょう。
しかし、あなたはまた、
はそれが役に立てば幸い... ^$
または[^\w\s]
ような単語/スペースが一致しない正規表現のような空行にマッチする正規表現を使用することができます!
(?=not)possible
?=は正の先読みです。それらはすべての正規表現のフレーバーではサポートされていませんが、多くの場合はサポートされています。
この式では "not"が検索され、同じ位置から始まる "可能"が検索されます(先読みは文字列内で前方に移動しないため)。
それは私の日=を作った)。よくやった;) –
私には、間違った方法で問題を攻撃しているように聞こえますが、正確には あなたは解決しようとしていますか?
すべてをキャッチして結果を否定する正規表現を実行できます。 JavaScriptで
例えば:
if (! str.match(/./))
が、その後あなただけの[1月-ハニ] @として、代わりに
if (!foo)
を行うことができますが言いました。あなたが別の正規表現では、このような正規表現を埋め込むために探しているなら
、あなた ではなく$または^を探している、または@ [ヘンリク-n]が述べたように先読みを使用している可能性があります。
しかし、私は、これは「私はXが必要だと思うが、私は本当に必要なのyは」問題のように見える、と述べたように。
「正規表現」の意味によって異なります。特定のプログラミング言語やライブラリでregexpsを意味しますか?その場合、答えはおそらくはいです。上記の回答のいずれかを参照することができます。
コンピュータサイエンスのクラスで教えられている正規表現を意味する場合は、答えは「いいえ」です。すべての正規表現はいくつかの文字列に一致します。それは空の文字列かもしれませんが、それは常にの何かと一致します。いずれの場合においても
、私はあなたが何を意味するか、正規表現の種類絞るためにあなたの質問のタイトルを編集示唆しています。あなたが正規表現でいくつかの入力をフィルタリングすると、関数の引数として正規表現を渡す際にそのようなことはおそらく必要になることができた理由の
一例です。関数型プログラミングの精神で
は、代数的完全性のために、あなたは「すべてが許可されている」と「何も許可されていません」のようないくつかの些細な主要な正規表現をしたいことがあります。
[^]+
とする必要があります。
これに添付されたakuのコメントに対する回答として、オンライン正規表現テスター(http://www.regextester.com/)でテストしたので、JavaScriptで動作すると仮定します。私はそれを "実際の"コードでテストしないことを告白する必要があります。 ;)
私は、正規表現エンジンがこれをサポートしているのだろうか? AFAIK、[^]はほとんどのプロセッサではコンパイルされません – aku
JavaScriptでは、 '[^]'は**任意の**文字にマッチします。これは、改行を含む任意の文字にマッチする '[\ s \ S]'イディオムのより簡潔な代替ですが、使用しないでください。 @akuが述べたように、他のほとんどの正規表現のフレーバは、それを構文エラーとして扱います。しかし、より大きな問題は、より長い正規表現の一部として誤解する可能性があるということです。例えば、 '[^] [^]'はJavaScriptの2文字にマッチしますが、PHPでは ']'、 '['、 '^'でない文字のうちの* 1 *にマッチします。 –
最高標準regexs(すなわち、すべての入力を拒否全く先読みまたはバック参照)は、これらは
.^
と
$.
)上記@aku後(ありませんフラットな矛盾:「文字が始まる前の文字列」と「終わりの後に文字が続く文字列」。
注:それは(それが^
は、正規表現で...最後のパターンと$
の最初に来ることを確認するために非常に簡単です)病気に形成されたとして、いくつかの正規表現の実装はこれらのパターンを拒否している可能性がありますが、私がチェックした少数はそれを受け入れます。これらは、^
と$
が改行に一致するような実装では機能しません。
- 1. Javascript正規表現分割拒否null
- 2. PHPがこの正規表現を拒否しています
- 3. 正規表現を拒否する連続した文字
- 4. ApacheがIP正規表現を許可/拒否する
- 5. Javascript正規入力の正規表現
- 6. 正規表現の入力
- 7. wgetで正規表現を使用してファイルを拒否する方法は?
- 8. 正規表現:すべて
- 9. 正規表現で英語以外の文字を拒否しますか?
- 10. 否定ルックアヘッド正規表現を使用したJava入力チェック
- 11. 正規表現を除くすべて正規表現
- 12. テキスト入力で一致する正規表現をハイライト表示
- 13. 正規表現否定マッチ
- 14. 正規表現以外のすべてに一致する正規表現
- 15. すべてのシンボルをカバーする正規表現ですか?
- 16. 正規表現を使用するとSpark S3アクセスが拒否される
- 17. パラメータの二重の出現を拒否する/必要とする「正規表現」が必要です
- 18. 正規表現の否定私の現在の正規表現で
- 19. 正規表現正規表現と異なるハイブ正規表現ですか?
- 20. 正規表現内のすべてのマッチを印刷する正規表現ですか? and、or)
- 21. 6桁の数値入力の正規表現です。すべての6桁の入力番号はコンマ
- 22. 正規表現バリデータの制限入力
- 23. 正規表現パターン入力の説明
- 24. 正規表現で数字入力を確認する - C#
- 25. 正規表現でテキスト入力を編集する
- 26. lex入力ファイルで正規表現をエスケープするには?
- 27. 否定と正の正規表現を結合するには?
- 28. mysqlの正規表現パターンを否定
- 29. 正規表現の一部を否定
- 30. AngularJsテキスト入力フィールド正規表現
なぜここで 'regex'が必要なのですか?' readonly inputs'、if(input.length <0)...、if(!value)のような他のオプションについて考えることができます –