[wcw | wはaとbの文字列です] などの繰り返し文字列を正規表現で表すことができないのはなぜですか? pls。私は字句解析を初めて学んだので詳細な答えを教えてください。前半を横断中に取得した情報を保持する方法はありませんので おかげで...それはすることができ正規表現字句解析
正規表現字句解析
答えて
正規表現は、元の形式で、通常の言語/文法を記述します。これらの言語は単純な有限状態マシンで記述できるため、ネストされた構造を含むことはできません。簡略化すると、言語の各単語が厳密に左から右(または右から左)に伸びるように、反復構造が明示的に定義され、静的でなければならないように描ける。
これは、以前の状態からの情報は、それ以降の状態(入力のさらに数文字)に引き継ぐことができないことを意味します。あなたのシンボルがwの場合、入力は、の文字列が正確に同じ文字列wであることを指定することはできません。同様に、各オープンファンクションにもクローン括弧が必要であることを保証することはできません(正規表現自体も正規言語ではないため、正規表現では記述できません:-))。
理論的な計算機科学では、基本的にシーケンス、代替(|)、繰り返し(*)のみで構成された非常に限定された正規表現演算子で作業しました。
しかし、通常、正規表現エンジンは特定のサブパターンをグループ化し、後で参照または抽出することができます。一部のエンジンでは、検索式文字列自体に逆参照を使用することも許可されているため、正規表現以外の表現も可能です。私が正しく覚えていれば、そのような後方参照の使用は文脈自由ではない言語を生成することさえできます。
追加ポインタ:
上記のwcwの例は、私が見ることができる限り文脈自由文法を使って行うことはできませんが(確かにwcwcwならばそうではありませんが)、Perlで簡単に確認できます。 –
、あなたはそれが「」sおよび「B」のの同じ文字列だことを保証することはできません第2のトラバースに使用する。
- 1. 正規表現の解析文字列
- 2. エスケープ文字で正規表現を解析する正規表現
- 3. 正規表現とハイパーリンクを解析する正規表現
- 4. C#正規表現の解析エラー
- 5. syslogのPython正規表現解析
- 6. Rubyの解析と正規表現
- 7. 正規表現のワーストケース解析
- 8. MDXの正規表現解析エラー
- 9. Gitlab CIテストカバレッジ解析の正規表現
- 10. エラー?!。正規表現の構文解析 `(`
- 11. 正規表現の構文解析 - ファイル
- 12. 正規表現の構文解析
- 13. PHP、正規表現、解析用のゲームログ
- 14. 正規表現解析の問題
- 15. 正規表現解析の問題
- 16. 変数のPython正規表現解析
- 17. 解析WINERROR.H&ntstatus.hステータス/正規表現
- 18. ログを解析する正規表現。
- 19. 正規表現構文解析Double
- 20. 正規表現による文字列の解析
- 21. 正規表現でXML文字列を解析する
- 22. 正規表現で文字列を解析するには?
- 23. javascriptの文字列を正規表現で解析する
- 24. JSフレンドリ正規表現で文字列を解析する
- 25. ActionScript3でタイムスタンプ文字列を解析する正規表現
- 26. C#正規表現を解析する正規表現/simple1/1.2-SNAPSHOT/
- 27. 正規表現をHTMLコードから解析するための正規表現
- 28. CSS表現を正規表現で解析する
- 29. 正規表現で正規表現の文字列を解析することは可能ですか?
- 30. 正規表現 - 分析フィルタ
ベア。既にかなり良い答えがありますが、あなたはそれを利用するための背景を持っていないかもしれません。 –
それは簡単ではありませんでした。しかし、少なくとも楽しい時もありました。ここでは、最適化だけでなく、解析以外のいくつかのアルゴリズムが含まれています。 背景があまりない人にその投稿を明確にする方法はありますか? -.- – Joey