ホームページ  >  記事  >  バックエンド開発  >  正規表現 (?>パターン) とはどういう意味ですか?

正規表現 (?>パターン) とはどういう意味ですか?

WBOY
WBOYオリジナル
2016-06-23 13:02:071478ブラウズ

今日smartyのソースコードを見ていたら、理解できない正規表現を見つけました
(?>[^"'=s]+)


ディスカッションに返信 (解決策)

?> 指定した文字からマッチングを開始します

どこで見たのですか?> で始まる場合は、疑問符を追加してください

私は英語を学んだことがありません、推測します

ああ、?> 以降の文字から始まる関連記事は見つかりません。

(?>[^"'=s]+ の違い) )と([^"'=s]+)はもう何も分かりません

どこで見た、見たいです

それなら?>最初に質問すればいいんじゃないでしょうかマークを追加します


その疑問符と大なり記号は正規表現の一部ではなく、Windows システムのコマンド ラインの行形式では、実行されるのは大なり記号の後にあります
例:
C:> dir

its ? は C:
> と同等です
its [^"' =s]+ は dir
と同等です


どこで見ましたか, 見たいです?>の場合は先頭に疑問符を付けるべきではないでしょうか


Smarty_Compiler.class このファイルにはそのような使い方がたくさんあります



どこで見れますか?見てみたいです

先頭に ?> がある場合、疑問符を追加する必要はありませんか?

その疑問符と大なり記号は正規表現の一部ではありません。 Windows システム、大なり記号の後に実行されるもの
例:
C:> dir


its ? は C: と同等です
> は区切り文字識別子です
[^" '=s]+ はdir と同等です

上記は私の理解です


ソースコードで学んだことによると、これはこの意味ではないはずです

この問題は解決しました、(?>パターン この式はSolidified groupingと呼ばれ、主に正規表現の効率を向上させ、正規表現を最適化します。通常の正規表現とは少し異なります。詳しく知りたい場合は、Baidu で正規表現のグループ化を検索してください。
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。