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

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

9
なぜ正規表現を使用してHTML / XMLを解析できないのか:素人の言葉による正式な説明
SOでは、(X)HTMLまたはXMLの解析に関する質問なしに、正規表現が要求される日はありません。 このタスクの正規表現の非実行可能性を実証する例や、概念を表す式のコレクションを思い付くのは比較的簡単ですが、SOでは、なぜこれが素人でできないのかについての正式な説明は見つかりませんでした。条項。 このサイトでこれまでに見つけた唯一の正式な説明は、おそらく非常に正確ですが、独学のプログラマにとっては非常に謎めいています。 ここでの欠点は、HTMLがチョムスキータイプ2文法(文脈自由文法)であり、RegExがチョムスキータイプ3文法(正規表現)であることです。 または: 正規表現は正規言語にのみ一致しますが、HTMLは文脈自由言語です。 または: 有限オートマトン(正規表現の基礎となるデータ構造)には、その状態とは別にメモリがありません。ネストが任意に深い場合は、有限オートマトンの概念と衝突する任意に大きいオートマトンが必要です。 または: 通常の言語のパンピング補題は、それができない理由です。 [公平を期すために:上記の説明の大部分はウィキペディアのページにリンクしていますが、これらは回答そのものよりも理解しやすいものではありません]。 だから私の質問は:(X)HTML / XMLを解析するために正規表現を使用できない理由について、上記の正式な説明を素人の言葉で翻訳してくれませんか? 編集:最初の回答を読んだ後、明確にする必要があると思いました:翻訳しようとする概念も簡潔に説明する「翻訳」を探しています:回答の終わりに、読者は大まかなアイデアを持っている必要があります-たとえば-「通常の言語」と「文脈自由文法」の意味...


7
Javascript分割正規表現質問
こんにちは私はJavascriptではかなり簡単な正規表現だと思ったものを試していますが、多くの問題を抱えています。「-」、「。」、「/」、「」のいずれかによるJavaScript分割を介して日付を分割する機能が必要です。 var date = "02-25-2010"; var myregexp2 = new RegExp("-."); dateArray = date.split(myregexp2); これに対する正しい正規表現は何ですか、そしてすべての助けは素晴らしいでしょう。
116 javascript  regex  split 

1
Vimでの複数行の正規表現のサポート
複数の行にまたがって照合するための標準の正規表現構文は、次のように/ sを使用することです。 This is\nsome text /This.*text/s これはたとえばPerlで動作しますが、Vimではサポートされていないようです。代わりに、もっと具体的にする必要があります。 /This[^\r\n]*[\r\n]*text/ 私はこれがなぜあるべきかの理由を見つけることができないので、私はおそらくvimのヘルプで関連する部分を逃しただけだと思っています。 誰かがこの動作を何らかの方法で確認できますか?
116 regex  vim 

2
Pythonで最初に出現する文字列を置き換える
サンプルの文字列があります。この文字列の最初の出現を長い文字列に空の文字列に置き換えるにはどうすればよいですか? regex = re.compile('text') match = regex.match(url) if match: url = url.replace(regex, '')
116 python  regex 

3
Rの文字列からすべての特殊文字を削除しますか?
Rの文字列からすべての特殊文字を削除してスペースで置き換える方法は? 削除するいくつかの特殊文字は次のとおりです。 ~!@#$%^&*(){}_+:"<>?,./;'[]-= 私はパターンで試しましたがregex、[:punct:]句読点のみを削除します。 質問2:次のような外国語から文字を削除する方法:â í ü Â á ą ę ś ć? 回答:を使用[^[:alnum:]]して削除したり~!@#$%^&*(){}_+:"<>?,./;'[]-=、を使用[^a-zA-Z0-9]しâ í ü Â á ą ę ś ćてregexやregexpr関数を削除したりします。
116 regex  string  r  character 



4
囲まれているものをキャプチャせずに正規表現でORを使用できますか?
私はrubular.comを使用して正規表現を作成していますが、そのドキュメントには次のものが記載されています。 (...) Capture everything enclosed (a|b) a or b 中にあるものをキャプチャせずにOR式を使用するにはどうすればよいですか?たとえば、「ac」または「bc」をキャプチャしたいとします。正規表現を使用できません (a|b)(c) 正しい?それ以来、「a」または「b」のいずれかを1つのグループにキャプチャし、「c」を別のグループにキャプチャします。同じではありません。キャプチャした結果をフィルタリングできることはわかっていますが、それはより多くの作業のようです... 私は何か明白なものを見逃していますか?これが適切であれば、私はこれをJavaで使用しています。

14
中括弧の間の文字列を取得する正規表現
残念ながら、私は覚えている限り何年もの間、少なくとも年に1回は正規表現を学習しようとしましたが、あまり頻繁に使用しないので、いつも忘れてしまいます。今年の私の新年の決意は、正規表現をもう一度学習しないことです。つまり、今年は涙から私を救うために、スタックオーバーフローにあげます。(最後のクリスマスのリミックス)。 この形式{getThis}で文字列を渡し、文字列を返したいのですがgetThis。誰かが私の新年の抱負を守るのを手伝ってくれるでしょうか? スタックオーバーフローに関する質問: どうすれば通常の引用符(つまり '、 ")をLaTeX / TeXの引用符(つまり`'、 `` '')に変換できますか? 正規表現:文字列内の2つのタグの間の部分文字列を引き出すには 文字列内のすべての\ nを置き換えるが、[コード] [/コード]タグ内のものは置き換えない正規表現
115 javascript  regex 

5
他の特定の部分文字列が後に続かない部分文字列に一致する正規表現
一致するが一致しblahfooblahない正規表現が必要blahfoobarblah fooの後にのみbarが続かない限り、fooとfooの周りのすべてに一致するようにします。 私はこれを使ってみました:foo.*(?<!bar)これはかなり近いですが、と一致しblahfoobarblahます。後ろ向きの否定的な見方は、単なるバーではなく、何かと一致する必要があります。 私が使用している特定の言語は、内部でJava正規表現を使用するClojureです。 編集:より具体的には、パスする必要blahfooblahfoobarblahがありblahfoobarblahblahますが、パスしません。
115 java  regex  clojure 

12
浮動小数点数の正規表現
浮動小数点数を照合するタスクがあります。次の正規表現を記述しました。 [-+]?[0-9]*\.?[0-9]* しかし、それはエラーを返します: Invalid escape sequence (valid ones are \b \t \n \f \r \" \' \\ ) 私の知る限りでは、エスケープ文字.もに使用する必要があります。間違っている箇所を修正してください。
115 regex 

3
Goの空白で文字列を分割しますか?
などの入力文字列が与えられた場合、" word1 word2 word3 word4 "これをGoの文字列の配列として分割するための最良の方法は何でしょうか?が存在し得ることに留意されたい任意の各単語の間にスペースまたはUnicode間隔文字数。 Javaでは私は単に使用しますsomeString.trim().split("\\s+")。 (注:Goで正規表現を使用して分割文字列が重複している可能性があるため、適切な回答が得られません。regexpまたはへのリンクだけでなく、実際の例をstrings参照してください。)
115 regex  go 


15
一重引用符または二重引用符で囲まれていないときにスペースを使用して文字列を分割するための正規表現
私は正規表現に不慣れなので、あなたの助けに感謝します。一重引用符または二重引用符で囲まれていないすべてのスペースを使用してサンプル文字列を分割する式をまとめようとしています。私の最後の試みは次のようになります:(?!")うまくいきません。見積もりの​​前のスペースで分割されています。 入力例: This is a string that "will be" highlighted when your 'regular expression' matches something. 望ましい出力: This is a string that will be highlighted when your regular expression matches something. ことに注意してください"will be"と'regular expression'単語間のスペースを保持します。
114 java  regex  split 

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