タグ付けされた質問 「regex」

正規表現は、文字列内のパターンに一致する宣言型言語を提供します。これらは、文字列の検証、解析、および変換に一般的に使用されます。正規表現は完全に標準化されていないため、このタグの付いたすべての質問には、適切なプログラミング言語またはツールを指定するタグも含める必要があります。注:HTML、JSONなどを要求すると、正規表現は否定的な反応を示す傾向があります。パーサーがある場合は、代わりにそれを使用してください。

5
\ wと\ bの正規表現のメタ文字の違い
\bと\w正規表現のメタキャラクターの違いを誰かが説明できますか?これらの両方のメタ文字が単語の境界に使用されることは私の理解です。これとは別に、どのメタ文字が多言語コンテンツに効率的ですか?
142 javascript  java  php  regex  perl 

3
違いは何ですか 。*?および。*正規表現?
正規表現を使用して文字列を2つの部分に分割しようとしています。文字列の形式は次のとおりです。 text to extract<number> 私は使用(.*?)<し<(.*?)>てきましたが、どれもうまくいきますが、正規表現を少し読んだ後?、式にが必要な理由を知り始めました。私はこのサイトでそれらを見つけた後にそのようにそれをやっただけなので、私は違いが何であるか正確にわかりません。



12
Javascript:否定的な後読み同等?
JavaScriptの正規表現で否定的な後読みと同等のものを実現する方法はありますか?先頭が特定の文字セットではない文字列に一致させる必要があります。 文字列の先頭に一致する部分が見つかった場合、これを失敗せずに実行する正規表現を見つけることができないようです。否定的な後読みが唯一の答えのようですが、JavaScriptにはありません。 編集:これは私が働きたい正規表現ですが、それはしません: (?<!([abcdefg]))m したがって、「jim」または「m」の「m」と一致しますが、「jam」とは一致しません。

3
String.splitでエスケープするためにパイプ区切り文字が必要なのはなぜですか?
パイプで区切られた値を持つ各行を含むファイルを解析しようとしています。splitメソッドでパイプ区切り文字をエスケープしないと正しく機能しませんでしたが、以下のようにパイプをエスケープした後は正しく機能しました。 private ArrayList<String> parseLine(String line) { ArrayList<String> list = new ArrayList<String>(); String[] list_str = line.split("\\|"); // note the escape "\\" here System.out.println(list_str.length); System.out.println(line); for(String s:list_str) { list.add(s); System.out.print(s+ "|"); } return list; } split()メソッドでパイプ文字をエスケープする必要がある理由を誰かが説明できますか?
140 java  regex  string 



6
悪意のあるコードを正規表現に入れる方法はありますか?
公開Webページに正規表現検索機能を追加したい。出力をHTMLエンコードする以外に、悪意のあるユーザー入力を防ぐために何かする必要がありますか? Googleの検索は、逆の問題を解決する人々-正規表現を使用して悪意のある入力を検出-には興味がありません。私のシナリオでは、ユーザー入力は正規表現です。 .NET(C#)のRegexライブラリを使用します。
138 regex  security 

11
JavaScriptで長い正規表現を複数の行に分割する方法は?
JSLintルールに従って、各行の長さを80文字に保つために、JavaScriptコードで複数行に分割したい非常に長い正規表現があります。読書にはちょうど良いと思います。ここにパターンのサンプルがあります: var pattern = /^(([^<>()[\]\\.,;:\s@\"]+(\.[^<>()[\]\\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

6
文字列変数を使用してその場でRegExpsを作成する
以下を再利用可能にしたいとします。 function replace_foo(target, replacement) { return target.replace("string_to_replace",replacement); } 私はこのようなことをするかもしれません: function replace_foo(target, string_to_replace, replacement) { return target.replace(string_to_replace,replacement); } 文字列リテラルを使用すると、これは簡単です。しかし、正規表現でもう少しトリッキーにしたい場合はどうなりますか?例えば、私はすべてを交換したいと言うけど string_to_replace。本能的に私は次のようなことをすることで上記を拡張しようとします: function replace_foo(target, string_to_replace, replacement) { return target.replace(/^string_to_replace/,replacement); } これは機能していないようです。私の推測でstring_to_replaceは、文字列を表す変数ではなく、文字列リテラルであると考えています。文字列変数を使用してその場でJavaScript正規表現を作成することは可能ですか?このような何かは、可能であれば素晴らしいでしょう: function replace_foo(target, string_to_replace, replacement) { var regex = "/^" + string_to_replace + "/"; return target.replace(regex,replacement); }
138 javascript  regex 

19
PHP RegexはYouTubeビデオIDを取得しますか?
他のGET変数がURLにあるかどうかに関係なく、誰かがYouTube IDをURLから取得する方法を教えてもらえますか? たとえば、このビデオを使用します。http://www.youtube.com/watch?v=C4kxS1ksqtw&feature=related つまりv=、次の間&
137 php  regex 

12
正規表現の単語境界とは何ですか?
Java 1.6でJava正規表現を使用しており(数値出力を解析するためなど)、\b(「単語の境界」)の正確な定義を見つけることができません。これは-12「整数の単語」(と一致\b\-?\d+\b)であると 想定していましたが、これは機能しないようです。スペースで区切られた数値を照合する方法を知っていただければ幸いです。 例: Pattern pattern = Pattern.compile("\\s*\\b\\-?\\d+\\s*"); String plus = " 12 "; System.out.println(""+pattern.matcher(plus).matches()); String minus = " -12 "; System.out.println(""+pattern.matcher(minus).matches()); pattern = Pattern.compile("\\s*\\-?\\d+\\s*"); System.out.println(""+pattern.matcher(minus).matches()); これは次を返します: true false true

7
パターンに従って部分文字列を抽出する
文字列のリストがあるとします。 string = c("G1:E001", "G2:E002", "G3:E003") ここで、コロン「:」の後の部分のみを含む文字列のベクトルを取得したいと考えていますsubstring = c(E001,E002,E003)。 Rでこれを行う便利な方法はありますか?使い方substr?
136 regex  r  substr 

7
英数字以外の文字、改行、および複数の空白をすべて1つのスペースに置き換える
交換するためのきちんとしたRegExソリューションを探しています 英数字以外のすべての文字 すべての改行 空白の複数インスタンスすべて シングルスペースで 家で遊ぶ人のために(以下はうまくいきます) text.replace(/[^a-z0-9]/gmi, " ").replace(/\s+/g, " "); 私の考えでは、RegExはおそらくこれを1つのステートメントで達成するのに十分強力です。idが必要だと思うコンポーネントは [^a-z0-9] -英数字以外の文字を削除する \s+ -スペースのコレクションと一致します \r?\n|\r -すべての改行に一致 /gmi -グローバル、複数行、大文字と小文字を区別しない しかし、私は正規表現を正しい方法でスタイルすることができないようです(以下は機能しません) text.replace(/[^a-z0-9]|\s+|\r?\n|\r/gmi, " "); 入力 234&^%,Me,2 2013 1080p x264 5 1 BluRay S01(*&asd 05 S1E5 1x05 1x5 望ましい出力 234 Me 2 2013 1080p x264 5 1 BluRay S01 asd 05 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.