「html」が前に付いていない「wap」に一致する正規表現
-
27-09-2019 - |
質問
NGINXを使用してモバイルWAP / HTMLサイト間のモバイルトラフィックをセグメント化しています。これを行う最善の方法は、HTTPAcceptヘッダーをチェックしてコンテンツに対するUAの設定をチェックすることだと思われます。
WAPの設定は、ヘッダーの「html」またはワイルドカードmimetypeの前に「wap」mimetypeが表示されることで示されます。
したがって、Sony Ericsson w300iはWAPを優先します: ジェネラコディセタグプレ
そしてBlackberryBoldはHTMLを好みます: ジェネラコディセタグプレ
私はNGINXの土地にいるので、私が持っている最高のツールはNGINXの正規表現(PCRE)のようです。
現在、否定的な先読みを使用して、「acceptヘッダーにはWAPが含まれていますが、HTMLが先行していません」と主張しようとしています。 ジェネラコディセタグプレ
しかし、これは正しくありません。この問題について私が考えることができる別の方法はありますか?または私のマッチングロジック?
これまでのところ、これらの正規表現リソースが役立つことがわかりました:
http://www.regular-expressions.info/completelines.html http://www.zytrax.com/tech/web/regex.htm http://wiki.nginx.org/NginxHttpRewriteModule
ありがとう!
回答ありがとうございます。関連するテストは次のとおりです。 ジェネラコディセタグプレ
解決
これを行う最も簡単な方法は、先読みではなく後読みを使用することです。これはサポートされていないため、先読みで後読みをエミュレートしてみることができます。 ジェネラコディセタグプレ
読むのは楽しいことではありませんが、うまくいくはずです。
他のヒント
ネガティブな見返りと「ミクロン」以上のパフォーマンスの場合、貪欲でないマッチングによるネガティブな見返り: ジェネラコディセタグプレ