問題タブ [regex-negation]
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# - 特定の部分文字列ではないものと照合するための正規表現
1 つの部分文字列で始まり、特定の部分文字列で終わらない文字列に一致する正規表現を探しています。
例:
「foo」で始まり、「bar」で終わらないものすべてに一致する必要があります。[^...] 構文については知っていますが、単一の文字ではなく文字列に対してそれを行うものは見つかりません。
私は特にJavaの正規表現に対してこれを行おうとしていますが、以前にこれに遭遇したことがあるので、他の正規表現エンジンの答えも素晴らしいでしょう.
これがC#でも機能することを確認してくれた@Kibbeeに感謝します。
regex - 一連のキーワードを除外する正規表現
「boon.ini」や「http」などの単語に遭遇すると失敗する式が必要です。目標は、この式を取得して、任意のキーワード セットを構築できるようにすることです。
.net - 文字列に特定の文字が含まれていないかどうかを確認する正規表現
今回は簡単な質問です。
正規表現を使用して、文字列に文字が含まれていないかどうかをテストしようとしています。式は「[^ x ]」の形式だと思っていましたが、 xは表示されたくない文字です。しかし、それは機能していないようです。
例えば、
と
どちらも true を返します (false が必要です)。
私は使い始めて"[^&]"
、& を \& としてエスケープする必要があるのではないかと考えましたが、違いはないようです。
アイデア?些細なことだと思います。
また、私は .NET を使用しているので、そのことを覚えておいてください。
編集1:
私はこれを見つけましたが、私が抱えている問題には答えていないようです。
編集2:
KevinとJoelの提案に応えたいと思いました。これらの提案は確かに高速ですが、この場合に必要な柔軟性を実現していません。そのため、検索でこの質問を見つけた場合は、それらの回答がニーズに合っているかどうかを確認してください. 私の場合、正規表現は DataTable 検証メソッドに渡されます。このメソッドは各行をループし、特定の列のその行の内容が渡される RegEx と一致することを確認します。このメソッドを再利用するので検証されている他のいくつかの DataTables については、次のことを行いました。
- 正規表現を使用して、幅広い検証を有効にする。
- 常に正の一致を探します (つまり、!Regex.IsMatch(cell, regexvariable) を使用する代わりに、このメソッドを呼び出す DataTables の大部分が使用するため、常に Regex.IsMatch(cell, regexvariable) を使用できることに依存したかったのです)ネガティブではなくポジティブマッチ。
うまくいけば、それは役に立ちます。
regex - 単語を含まない行に一致する正規表現
単語を一致させてから、他のツール(例)を使用して一致を逆にすることが可能であることを私は知っていますgrep -v
。hede
ただし、正規表現を使用して、特定の単語を含まない行を照合することは可能ですか?
入力:
コード:
必要な出力:
regex - 正規表現:先読みなしの除外によるマッチング - 可能ですか?
一部の正規表現フレーバーでは、[負の] ゼロ幅アサーション (先読み/後読み) がサポートされていません。
これにより、除外を述べることが非常に困難 (不可能?) になります。たとえば、「「foo」を含まないすべての行」は次のようになります。
ルックアラウンドをまったく使用せずに同じことを達成できますか (複雑さとパフォーマンスの問題は今のところ脇に置いておきます)。
java - 特定の部分文字列を含む文字列を無視するには、正規表現をどのように使用しますか?
特定の部分文字列を含む文字列を無視するには、負の後読み (またはその他の方法) 正規表現を使用するにはどうすればよいですか?
以前の 2 つのスタックオーバーフローの質問を読みました
。
それらはほぼ私が望むものです...私の問題は、文字列が無視したいもので終わっていないことです。もしそうなら、これは問題にはなりません。
これは、ルックアラウンドがゼロ幅であり、文字列の2回目のパスで何かが一致しているという事実に関係していると感じています...しかし、内部についてはあまり確信が持てません。
とにかく、誰かが時間を割いて説明してくれるなら、私は大いに感謝します.
無視したい入力文字列の例を次に示します。
192.168.1.10 - - [08/Feb/2009:16:33:54 -0800] "GET /FOO/BAR/HTTP/1.1" 200 2246
以下は、さらに評価するために残しておきたい入力文字列の例です。
192.168.1.10 - - [08/Feb/2009:16:33:54 -0800] "GET /FOO/BAR/content.js HTTP/1.1" 200 2246
私にとって重要なのは、ドキュメント ルートのデフォルト ページの後にある HTTP GET を無視したいということです。
以下は、私の小さなテスト ハーネスであり、これまでに思いついた最高の RegEx です。
regex - 特定の文字列を含まない正規表現
私はこのようなものを持っています
アッバブカブダ
でラップされた最小限のグループを選択するために、私はこれを持っていますが、/a([^a]*)a/
これはうまく機能します
しかし、 aaでラップされたグループに問題があり、動作しないようなものが必要で
/aa([^aa]*)aa/
、最初のような を使用できませ/aa([^a]*)aa/
ん。 .
一般に、文字列を含まないと言うのと同じように、文字列を含まないと言う[^a]
方法はありますか?
簡単に言うと、aaの後にシーケンスaa以外の任意の文字が続き、aaで終わる必要があります。
regex - アポストロフィ以外の句読点を削除します 正規表現
preg_replace ("/(\p{P})/", ' ', $str)
アポストロフィを削除しますが、そうすべきではありません。助けてください
regex - 正規表現の逆を取得するには?
テキスト ファイル内のすべての URL を正しく検索する正規表現があるとします。
URL ではなく、その逆 (URL 以外のすべてのテキスト) が必要な場合、これを取得するための簡単な変更はありますか?
ruby - string2 が前にない限り、string1 に一致する正規表現
Ruby を使用して、単一の正規表現を使用して、「xy y ay xy +y」で x (y、ay、+y) が前にないすべての「y」に一致させるにはどうすればよいですか?
/[^x]y/ は前の文字にも一致するため、代替が必要です...