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

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


10
JavaでCamelCaseをcamel_caseに変換するための正規表現
正規表現を使用して変換するために必要な出力が与えられない理由を理解FooBarしてFoo_BarいますFoo_Bar_。String.substringを使用して何かを実行するかsubstring(0, string.length() - 2)、最後の文字を置き換えることもできますが、そのようなシナリオにはより良い解決策があると思います。 コードは次のとおりです。 String regex = "([A-Z][a-z]+)"; String replacement = "$1_"; "CamelCaseToSomethingElse".replaceAll(regex, replacement); /* outputs: Camel_Case_To_Something_Else_ desired output: Camel_Case_To_Something_Else */ 質問:目的の出力を取得するためのより適切な方法をお探しですか?
86 java  regex  string 

30
複数のREエンジンを使用して正規表現をテストするにはどうすればよいですか?[閉まっている]
クローズ。この質問はもっと焦点を合わせる必要があります。現在、回答を受け付けていません。 6年前に閉鎖されました。 ロックされています。この質問はトピックから外れていますが、歴史的に重要であるため、この質問とその回答はロックされています。現在、新しい回答ややり取りは受け付けていません。 異なる正規表現エンジンに対して同じ正規表現をテストするにはどうすればよいですか?
85 regex  testing 

1
WebWorkerは遅い正規表現の一致を大幅に遅く計算します(3倍)-Firefoxのみ
まず、プロジェクト内のすべてのヘッダーファイルのリストにあるすべての一意の外部ライブラリパスに一致する正規表現を自分で作成しました。1週間前にその正規表現を作成することについて質問しました。 私は、非同期のときとWebワーカーに変わったときの動作を確認するためにいじり始めました。利便性と信頼性のために、3つのモードすべてで実行されるこのユニバーサルファイルを作成しました。 /** Will call result() callback with every match it founds. Asynchronous unless called * with interval = -1. * Javadoc style comment for Arnold Rimmer and other Java programmers: * * @param regex regular expression to match in string * @param string guess what * @param result callback …

22
バージョン番号解析の正規表現
次の形式のバージョン番号があります。 version.release.modification ここで、バージョン、リリース、および変更は、数字のセットまたは「*」ワイルドカード文字のいずれかです。さらに、これらの番号のいずれか(および先行する。)が欠落している可能性があります。 したがって、以下は有効であり、次のように解析されます。 1.23.456 = version 1, release 23, modification 456 1.23 = version 1, release 23, any modification 1.23.* = version 1, release 23, any modification 1.* = version 1, any release, any modification 1 = version 1, any release, any modification * = any version, any release, …
84 regex  versioning 

4
Goで大文字と小文字を区別しない正規表現を行うにはどうすればよいですか?
もちろん、のように両方のケースを処理する正規表現を書くこともできますregexp.Compile("[a-zA-Z]")が、正規表現はユーザーが指定した文字列から作成されます。 reg, err := regexp.Compile(strings.Replace(s.Name, " ", "[ \\._-]", -1)) s.Name名前はどこですか。これは「NorthbyNorthwest」のようなものである可能性があります。さて、私にとって最も明白な解決策はs.Name、の各文字をウォークスルーし、各文字に「[nN]」と書くことです。 for i := 0; i < len(s.Name); i++ { if s.Name[i] == " " { fmt.Fprintf(str, "%s[ \\._-]", str); } else { fmt.Fprintf(str, "%s[%s%s]", str, strings.ToLower(s.Name[i]), strings.ToUpper(s.Name[i])) } } しかし、これはかなりエレガントではない解決策だと思います。速度はそれほど問題ではありませんが、別の方法があるかどうかを知る必要があります。
84 regex  go 

4
パターンに一致する、または空の文字列である正規表現
メールアドレスの形式に一致する次の正規表現があります。 ^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$ これは、JavaScriptを使用したフォームでの検証に使用されます。ただし、これはオプションのフィールドです。したがって、この正規表現を電子メールアドレス形式または空の文字列に一致するように変更するにはどうすればよいですか? 私の限られた正規表現の知識から、\b空の文字列に一致し、|「Or」を意味すると思うので、次のことを試みましたが、機能しませんでした。 ^[\w\.\-]+@([\w\-]+\.)+[a-zA-Z]+$|\b

4
ネストされたキャプチャグループは、正規表現でどのように番号付けされますか?
正規表現がネストされた括弧のキャプチャ動作をどのように処理するかについて定義された動作はありますか?より具体的には、異なるエンジンが最初の位置で外側の括弧をキャプチャし、後続の位置でネストされた括弧をキャプチャすることを合理的に期待できますか? 次のPHPコードを検討してください(PCRE正規表現を使用) <?php $test_string = 'I want to test sub patterns'; preg_match('{(I (want) (to) test) sub (patterns)}', $test_string, $matches); print_r($matches); ?> Array ( [0] => I want to test sub patterns //entire pattern [1] => I want to test //entire outer parenthesis [2] => want //first inner [3] => to …

5
正規表現の一致後に続くテキストを取得する
正規表現を使用するのは初めてです。チュートリアルを何度も行ってきましたが、やりたいことに当てはまるチュートリアルが見つかりません。 何かを検索したいのですが、それに続くすべてを返しますが、検索文字列自体は返しません 例:「すごいいくつかの不完全な文」 「文」を検索する 「それはすごい」を返す どんな助けでも大歓迎です これはこれまでの私の正規表現です sentence(.*) しかし、それは戻ります:素晴らしい文 Pattern pattern = Pattern.compile("sentence(.*)"); Matcher matcher = pattern.matcher("some lame sentence that is awesome"); boolean found = false; while (matcher.find()) { System.out.println("I found the text: " + matcher.group().toString()); found = true; } if (!found) { System.out.println("I didn't find the text"); }
84 java  regex 

7
文を「、」で分割し、周囲のスペースを削除します
私はこのコードを持っています: var r = /(?:^\s*([^\s]*)\s*)(?:,\s*([^\s]*)\s*){0,}$/ var s = " a , b , c " var m = s.match(r) m => [" a , b , c ", "a", "c"] 文字列全体が一致しているように見えますが、どこに"b"行ったのでしょうか。私はむしろ得ることを期待したい: [" a , b , c ", "a", "b", "c"] 空白を削除したm.shift()ような結果で実行できるようにs.split(',')します。 正規表現に間違いがありString.prototype.matchますか、それとも誤解しますか?
84 javascript  regex 

4
JavaScript正規表現で任意の数のグループをキャプチャする方法は?
私はJavaScriptのこの行を期待します: "foo bar baz".match(/^(\s*\w+)+$/) 次のようなものを返すには: ["foo bar baz", "foo", " bar", " baz"] ただし、代わりに、最後にキャプチャされた一致のみが返されます。 ["foo bar baz", " baz"] キャプチャされたすべての一致を取得する方法はありますか?

9
JUnitで正規表現の一致をアサートします
RubyにTest::Unitは、assert_matches正規表現が文字列と一致することを表明するための単体テストで使用できる優れたメソッドがあります。 JUnitにこのようなものはありますか?現在、私はこれを行います: assertEquals(true, actual.matches(expectedRegex));
84 java  regex  junit 


2
bashスクリプトで正規表現を使用するにはどうすればよいですか?
正規表現を使用して、変数に有効な年があるかどうかを確認したいと思います。読むbashのマニュアルを演算子=〜を使用できることがわかります。 以下の例を見ると、「OKではない」と表示されるはずですが、「OK」と表示されます。私は何が間違っているのですか? i="test" if [ $i=~"200[78]" ] then echo "OK" else echo "not OK" fi

3
preg_replace()e修飾子をpreg_replace_callbackに置き換えます
正規表現がひどいです。私はこれを置き換えようとしています: public static function camelize($word) { return preg_replace('/(^|_)([a-z])/e', 'strtoupper("\\2")', $word); } 匿名関数を使用したpreg_replace_callbackを使用します。\\ 2が何をしているのかわかりません。または、そのことについては、preg_replace_callbackがどのように機能するかを正確に説明します。 これを達成するための正しいコードは何でしょうか?

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