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

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


30
単語を含まない行に一致する正規表現
単語を一致させてから、他のツール(などgrep -v)を使用して一致を逆にすることは可能です。しかし、たとえばhede正規表現を使用して、特定の単語を含まない行を一致させることは可能ですか? 入力: hoho hihi haha hede コード: grep "<Regex for 'doesn't contain hede'>" input 望ましい出力: hoho hihi haha

30
正規表現を使用してメールアドレスを検証する方法は?
長年にわたり、サーバーの一部としてIPアドレスを使用しないことを前提として、MOSTメールアドレスを正しく検証する正規表現を徐々に開発してきました。 私はいくつかのPHPプログラムで使用しており、ほとんどの場合機能します。ただし、そのサイトを使用しているサイトで問題が発生し、調整をしなければならないという連絡が時々あります(最近では、4文字のTLDが許可されていないことに気付きました)。 メールの検証に使用した、または見た中で最も良い正規表現は何ですか? いくつかの短い式を使用する関数を使用するいくつかのソリューションを見てきましたが、より複雑な関数のいくつかの短い式の代わりに、単純な関数の1つの長い複雑な式が欲しいです。


30
RegExは、XHTML自己完結型タグを除くオープンタグと一致します
ロックされています。この質問へのコメントは無効になっていますが、新しい回答やその他のやり取りはまだ受け付けています。詳細をご覧ください。 これらのすべての開始タグを一致させる必要があります。 <p> <a href="foo"> しかし、これらではありません: <br /> <hr class="foo" /> 私はこれを思いつき、それが正しいことを確認したかったのです。キャプチャしてa-zいるだけです。 <([a-z]+) *[^/]*?> 私はそれが言うと信じています: 次より小さい azを1回以上検索(およびキャプチャ)してから、 ゼロ個以上のスペースを見つけて、 0回以上は、貪欲以外の任意の文字を検索し/、その後、 より大きいを見つける その権利はありますか?そしてさらに重要なことに、あなたはどう思いますか?
1474 html  regex  xhtml 

20
正規表現で変数をどのように使用しますか?
String.replaceAll()JavaScriptでメソッドを作成したいのですが、正規表現を使用するのが最も簡単な方法だと思います。ただし、変数を正規表現に渡す方法がわかりません。私はすべてのインスタンスに置き換えられますどのすでにこれを行うことができます"B"してを"A"。 "ABABAB".replace(/B/g, "A"); しかし、私はこのようなことをしたいです: String.prototype.replaceAll = function(replaceThis, withThis) { this.replace(/replaceThis/g, withThis); }; しかし、明らかにこれはテキストを置き換えるだけ"replaceThis"です...では、この変数を正規表現文字列に渡すにはどうすればよいですか?
1380 javascript  regex 

21
JavaScript正規表現で一致したグループにどのようにアクセスしますか?
正規表現を使用して文字列の一部を照合し、括弧で囲まれた部分文字列にアクセスします。 var myString = "something format_abc"; // I want "abc" var arr = /(?:^|\s)format_(.*?)(?:\s|$)/.exec(myString); console.log(arr); // Prints: [" format_abc", "abc"] .. so far so good. console.log(arr[1]); // Prints: undefined (???) console.log(arr[0]); // Prints: format_undefined (!!!) 何が悪いのですか? 上記の正規表現コードには何も問題がないことがわかりました。テスト対象の実際の文字列は次のとおりです。 "date format_%A" "%A"が未定義であると報告することは非常に奇妙な動作のようですが、この質問とは直接関係がないため、新しい質問を開きました。JavaScriptで一致した部分文字列が "未定義"を返すのはなぜですか?。 問題はconsole.log、パラメーターをprintfステートメントのように受け取ることでした。また、ログに記録し"%A"ていた文字列()に特別な値が含まれていたため、次のパラメーターの値を見つけようとしていました。
1368 javascript  regex 

5
\ dは[0-9]よりも効率的ではありません
昨日、誰かがor ではなく正規表現で使用[0123456789]した回答にコメントしました。おそらく、文字セットよりも範囲または桁指定子を使用する方が効率的であると私は言いました。[0-9]\d 私はそれを本日テストすることに決め、驚いたことに(少なくともC#の正規表現エンジンでは)\d他の2つのどちらよりも効率が悪く、それほど大きな違いはないようです。これは、実際に数字を含む5077の1000個のランダムな文字からなる10000個のランダムな文字列のテスト出力です。 Regular expression \d took 00:00:00.2141226 result: 5077/10000 Regular expression [0-9] took 00:00:00.1357972 result: 5077/10000 63.42 % of first Regular expression [0123456789] took 00:00:00.1388997 result: 5077/10000 64.87 % of first 次の2つの理由から、これは驚きです。 範囲はセットよりもはるかに効率的に実装されると思っていたでしょう。 \dがよりも悪い理由を理解できません[0-9]。\d単に省略形以上のものがあり[0-9]ますか? ここにテストコードがあります: using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Diagnostics; using System.Text.RegularExpressions; namespace SO_RegexPerformance …
1249 c#  regex  performance 


3
grepを使用した否定一致(fooを含まない行に一致)
私はこのコマンドの構文を理解しようとしています: grep ! error_log | find /home/foo/public_html/ -mmin -60 または: grep '[^error_log]' | find /home/baumerf/public_html/ -mmin -60 という名前のファイルを除いて、変更されたすべてのファイルを表示する必要がありますerror_log。 私はそれについてここで読みましたが、1つのnot-regexパターンしか見つかりませんでした。
990 regex  grep 

30
正規表現を使用して電話番号を検証する方法
電話番号を検証するための包括的な正規表現をまとめようとしています。理想的には国際フォーマットを処理しますが、以下を含む米国フォーマットを処理する必要があります。 1-234-567-8901 1-234-567-8901 x1234 1-234-567-8901 ext1234 1 (234) 567-8901 1.234.567.8901 1/234/567/8901 12345678901 私の現在の試みでお答えしますが、誰かがより良いものやエレガントなものを持っていることを願っています。


11
文字列がJSの正規表現と一致するかどうかを確認します
JavaScript(jQueryを使用可能)を使用して、クライアント側の検証を行い、文字列が正規表現に一致するかどうかを確認したい: ^([a-z0-9]{5,})$ 理想的には、trueまたはfalseを返す式です。 私はJavaScript初心者ですが、match()必要なことはできますか?文字列全体ではなく、文字列の一部が正規表現と一致するかどうかをチェックするようです。
751 javascript  regex  match 

12
正規表現:AND演算子はありますか?
明らかに、|(パイプ?)を使用してを表すことができますが、同様ORに表す方法はありANDますか? 具体的には、特定のフレーズのすべてを含むが、特定の順序ではないテキストの段落を照合します。
708 regex  lookahead 

25
bashとregexを使用して1行でプロセスを見つけて強制終了します
プログラミング中にプロセスを強制終了する必要があることがよくあります。 私が今それをしている方法は: [~]$ ps aux | grep 'python csp_build.py' user 5124 1.0 0.3 214588 13852 pts/4 Sl+ 11:19 0:00 python csp_build.py user 5373 0.0 0.0 8096 960 pts/6 S+ 11:20 0:00 grep python csp_build.py [~]$ kill 5124 プロセスIDを自動的に抽出し、同じ行で強制終了するにはどうすればよいですか? このような: [~]$ ps aux | grep 'python csp_build.py' | kill <regex that …
650 regex  bash  terminal  awk 

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