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

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

2
正規表現\ p {L}および\ p {N}
私は正規表現に不慣れで、次の正規表現が与えられました。 (\p{L}|\p{N}|_|-|\.)* *の意味を知っています。「または」を意味し、\がエスケープされます。 しかし、私は何を知っていない\p{L}と\p{N}意味が。結果を出さずにGoogleで検索しました... 誰かが私を助けてくれますか?

2
Python Regexは即座にグループを置き換えます
正規表現構文を使用してすべてのグループを直接置き換える方法はありますか? 通常の方法: re.match(r"(?:aaa)(_bbb)", string1).group(1) しかし、私はこのようなことを達成したいです: re.match(r"(\d.*?)\s(\d.*?)", "(CALL_GROUP_1) (CALL_GROUP_2)") Regexがキャプチャしたばかりのグループから、新しい文字列を瞬時に作成したいと思います。

9
10回以上繰り返される任意の文字に一致する正規表現
同じ文字が10回以上繰り返される単純な正規表現を探しています。したがって、たとえば、ドキュメントに横線が散らばっている場合: ================================================= =10回以上繰り返されるため、文字の行と一致します。これがどのキャラクターでも機能するようにしたいことに注意してください。
106 regex 

6
違いは何ですか ?:、 ?!そして?=正規表現で?
私はこれらの表現の意味を検索しましたが、それらの正確な違いを理解できませんでした。これは彼らが言うことです: ?: 表現に一致しますが、キャプチャしません。 ?= サフィックスに一致しますが、キャプチャから除外します。 ?! サフィックスがない場合に一致します。 私はこれらを単純なRegExで使用してみましたが、すべて同じような結果が得られました。例:次の3つの式は非常によく似た結果になります。 [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?!\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?=\.[a-zA-Z0-9]+)* [a-zA-Z0-9._-]+@[a-zA-Z0-9-]+(?:\.[a-zA-Z0-9]+)*
106 javascript  regex 

1
DeprecationWarning:無効なエスケープシーケンス-\ dの代わりに何を使用しますか?
rePython 3.6.5 でモジュールの問題に遭遇しました。私の正規表現には次のパターンがあります。 '\\nRevision: (\d+)\\n' しかし、実行するとが表示されDeprecationWarningます。 私はSOで問題を検索しましたが、実際には答えが見つかりませんでした-代わりに何を使用すればよい\d+ですか?ちょうど[0-9]+または多分何か?
106 python  regex  python-3.x 

5
変数名を使用したRuby正規表現
変数名の値に基づいたルビで正規表現パターンを作成/使用することは可能ですか? たとえば、Ruby文字列を使用して次のことができることは誰もが知っています。 str = "my string" str2 = "This is #{str}" # => "This is my string" 正規表現で同じことをしたいのですが。 var = "Value" str = "a test Value" str.gsub( /#{var}/, 'foo' ) # => "a test foo" リストにあるように動作しないことは明らかですが、ここでは例として、私が何をしたいかを示しています。変数の内容の値に基づいて一致を正規表現する必要があります。
105 ruby  regex 

10
sedが\ tをタブとして認識しないのはなぜですか?
sed "s/\(.*\)/\t\1/" $filename > $sedTmpFile && mv $sedTmpFile $filename このsedスクリプトtabでは、すべての行の前にが挿入されることを期待していますが、$filenameそうではありません。何らかの理由でt代わりにを挿入しています。
105 regex  bash  sed 

6
正規表現は正確にnまたはm回
次の正規表現を考えてみます。ここで、Xは任意の正規表現です。 X{n}|X{m} この正規表現は、正確に、または何度もX発生するか nどうかをテストしmます。 発生をX正確にnまたはm時間でテストできる正規表現数量詞はありますか?
105 java  php  regex 

6
複数行のテキストブロックに一致する正規表現
複数行にわたるテキストと照合するときに、Python正規表現を機能させるのに少し問題があります。テキストの例は( '\ n'は改行です) some Varying TEXT\n \n DSJFKDAFJKDAFJDSAKFJADSFLKDLAFKDSAF\n [more of the above, ending with a newline]\n [yep, there is a variable number of lines here]\n \n (repeat the above a few hundred times). 「some_Varying_TEXT」の部分と、1回のキャプチャで2行下に来るすべての大文字のテキスト行をキャプチャします(後で改行文字を削除できます)。私はいくつかのアプローチで試しました: re.compile(r"^>(\w+)$$([.$]+)^$", re.MULTILINE) # try to capture both parts re.compile(r"(^[^>][\w\s]+)$", re.MULTILINE|re.DOTALL) # just textlines そして、運のないこの多くのバリエーション。最後の1つはテキストの行と1つずつ一致するようですが、これは私が本当に望んでいることではありません。最初の部分は問題なく捕捉できますが、4〜5行の大文字のテキストは捕捉できません。空の行に遭遇するまで、match.group(1)をsome_Varying_Textに、group(2)をline1 + line2 …
105 python  regex  multiline 

5
Java Regexスレッドセーフですか?
文字列のリストからパターンを検索するためにPattern#compileおよびを使用する関数がMatcherあります。 この関数は複数のスレッドで使用されます。各スレッドにはPattern#compile、スレッドの作成時にに渡される固有のパターンがあります。スレッドとパターンの数は動的です。つまり、Pattern構成中にとスレッドをさらに追加できます。 synchronize正規表現を使用する場合、この関数にaを付ける必要がありますか?Javaスレッドの正規表現は安全ですか?

2
文脈自由文法とは何ですか?
誰かが文脈自由文法とは何かを私に説明できますか?Wikipediaのエントリ、次に正式な文法のWikipediaのエントリを調べた後、私は完全に戸惑いました。誰かがこれらのことを説明できるほど親切でしょうか? 構文解析と、正規表現エンジンの制限についても調査したいので、これは不思議に思っています。 これらの用語が直接プログラミングに関連しているか、一般的に言語学に関連しているかはわかりません。その場合は、申し訳ありませんが、もしそうであれば移動できますか?

12
JavaScriptで別の文字列に出現するすべての文字列のインデックスを見つける方法は?
私は、大文字と小文字を区別しない、別の文字列内の文字列のすべての出現の位置を見つけようとしています。 たとえば、次の文字列が与えられたとします。 レバノンでウクレレを弾くことを学びました。 そして検索文字列le、私は配列を取得したい: [2, 25, 27, 33] 両方の文字列は変数になります-つまり、それらの値をハードコードすることはできません。 これは正規表現にとって簡単な作業であると考えましたが、うまくいくものを見つけるのにしばらく苦労した後、私は運がありませんでした。 を使用してこれを達成する方法のこの例を見つけました.indexOf()が、確かにそれを行うにはより簡潔な方法が必要ですか?

13
文字列の列の各行における特定の文字の出現数を計算するにはどうすればよいですか?
特定の変数にテキスト文字列が含まれているdata.frameがあります。個々の文字列内の特定の文字の出現回数をカウントしたいと思います。 例: q.data<-data.frame(number=1:3, string=c("greatgreat", "magic", "not")) 文字列での "a"の出現回数を含むq.dataの新しい列を作成したい(つまり、c(2,1,0))。 私が管理した唯一の複雑なアプローチは次のとおりです。 string.counter<-function(strings, pattern){ counts<-NULL for(i in 1:length(strings)){ counts[i]<-length(attr(gregexpr(pattern,strings[i])[[1]], "match.length")[attr(gregexpr(pattern,strings[i])[[1]], "match.length")>0]) } return(counts) } string.counter(strings=q.data$string, pattern="a") number string number.of.a 1 1 greatgreat 2 2 2 magic 1 3 3 not 0
103 regex  r  dataframe 

5
正規表現のgrepの「続かない」の先読み
私は手紙が付いてUi\.いない、Lineまたは手紙だけのすべてのインスタンスをgrepしようとしていますL 別の文字列が後に続かない特定の文字列のすべてのインスタンスを見つけるための正規表現を書く適切な方法は何ですか? 先読みの使用 grep "Ui\.(?!L)" * bash: !L: event not found grep "Ui\.(?!(Line))" * nothing

4
sedエラー:「 `s 'コマンドのRHSでの無効な参照\ 1」
mavenのcolorizeスクリプトのコアとしていくつかの置換コマンドを実行します。sedコマンドの1つは、ここで説明するように、シェルで機能する正規表現を使用します。現在の(動作していない)実装はここにあります。 コマンドのバリアントの1つをスクリプトに含めると、さまざまな動作が発生します。 バリエーション1: $ sed -re "s/([a-zA-Z0-9./\\ :-]+)/\1/g" スクリプトに適応: -re "s/WARNING: ([a-zA-Z0-9./\\ :-]+)/${warn}WARNING: \1${c_end}/g" \ エラー:シェルは、と入力した場合と同じ情報を出力します$ sed。奇妙な!? バリエーション2: $ sed -e "s/\([a-zA-Z0-9./\\ :-]\+\)/\1/g" スクリプトに適応: -e "s/WARNING: \([a-zA-Z0-9./\\ :-]\+\)/${warn}WARNING: \1${c_end}/g" \ エラー: sed:-e式#7、char 59: `s 'コマンドのRHSの参照\ 1が無効です
103 regex  sed  substitution 

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