PCRE は、{a^n b^n c^n; のような文脈依存の文法に一致しますか?
文脈依存文法と PCRE のマッチング: A^n B^n C^n (例: "aaabbbccc")
通常式は伝統的に正規文法の解析に関連付けられていましたが、PCRE のような最新の実装では拡張機能が提供されています。これにより、次のような疑問が生じます。PCRE を使用して、より複雑な状況依存の文法を解析できるでしょうか?
具体的には、状況依存の文法 {a^n b^n c^n; に従って文字列を照合するという課題を検討してみましょう。 n > 0} (例: "aaabbbccc")。
正規表現の解決策:
NullUserException の最初の試みに触発されて、次の正規表現を考案しました:
~^ (?=(a(?-1)?b)c) a+(b(?-1)?c) $~x
説明:
- 外側のセクション ~^...$~ は、文字列が目的のパターンで開始および終了することを保証します。
- 括弧内, ~?(a(?-1)?b)c~ は、as と bs が等しいかどうかをチェックする肯定先読みアサーションです。
- ~a ~ は任意の数の as に一致します。
- ~b(?-1)?c~ は、cs が後に続く等しい数の bs に一致します。
- (?-1) の (?-) を使用すると、as と bs の任意のシーケンスを一致させることができます。先読みアサーションを満たします。
テスト ケース:
次のようなさまざまな入力に対して正規表現をテストしました。
- "aabbcc " - 正常に一致しました
- "aaabbbccc" - 正常に一致しました
- "aaabbbcc" - 一致しません(正しい)
- "aaaccc" - 一致しません(正しい)
- "aabcc" - 一致しない (正しい)
- "abbcc" - 一致しない (正しい)
結論:
この正規表現は、最新の正規表現の驚くべき能力を示しており、通常の文法を超えて、{a^n b^n c^n} のような文脈依存の文法にも一致します。より複雑なパターンを解析できるこの機能により、正規表現アプリケーションの新たな可能性が開かれます。
以上がPCRE は、{a^n b^n c^n; のような文脈依存の文法に一致しますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











LaravelのバックエンドでReactアプリを構築する:パート2、React
