私は見て、否定的な見通しについてのものを見つけましたが、私はこれについて何をすべきかまだ分かりません。私はRewriteRule ^([a-zA-Z0-9]+)/?$
を持っていますが、私は特に "help"( "help"ではなく "hellp"など)という単語を将来的に除外したいと考えています。申し訳ありませんが、これには似たような疑問がたくさんあることはわかっていますが、これを具体的にどのように適用するかを理解できていません。すべての文字と数字の組み合わせは一致しますが、特定の単語は一致しますか?
答えて
また、「ヘルプ」以外のすべての英数字の文字列に一致する正規表現を書くこともできます。正規表現([a-zA-Z0-9]+)/?&~help
は、&
と~
演算子を使用しない正規表現に書き換えることができます(広くは使用できません)。
正規表現は犬の朝食のように見えるので、実際にはこれをしたくないです。しかしここに方法があります。
まず、短いすべての英数字コードが一致します。 「HELは」許容できる問題ではありませんし、どちらも他の三文字/数字の配列である。
[a-zA-Z0-9]{1,3}
我々はまた、5つの以上の文字の配列を認識することができます。
[a-zA-Z0-9]{5,}
今すぐ助けていない4文字の配列が一致し、トリッキーな部分が来る:彼らはこれを含めることで、「ヘルプ」のいずれか、ではありません。これは、h
で始まらない4つのchar識別子、または2番目の文字としてe
を持たない4つのcharを意味します。その他:これらのいずれにも一致しない4つの文字パターンは、「ヘルプ」という単語のみです。 hのため最初のもの、eのための2番目のものと一致しません。
したがって、アンカーリング。深呼吸をして:
^([a-zA-Z0-9]{1,3}|[a-zA-Z0-9]{5,}|[a-gi-zA-Z0-9][a-zA-Z0-9]{3}|[a-zA-Z0-9][a-df-zA-Z0-9][a-zA-Z0-9]{2}|[a-zA-Z0-9]{2}[a-km-zA-Z0-9][a-zA-Z0-9]|[a-zA-Z0-9]{3}[a-oq-zA-Z0-9])$
これをEFNetのIRCネットワーク上の#unix
のための新しいチャンネルキーでなければなりません。 :)
私はこれをテストするつもりですか?あなたはナッツですか...
もちろん、私はしましたが、sed。若干。ほとんどのメタ文字をエスケープする必要があります。
$ sed -n -e '/^\([a-zA-Z0-9]\{1,3\}\|[a-zA-Z0-9]\{5,\}\|[a-gi-zA-Z0-9][a-zA-Z0-9]\{3\}\|[a-zA-Z0-9][a-df-zA-Z0-9][a-zA-Z0-9]\{2\}\|[a-zA-Z0-9]\{2\}[a-km-zA-Z0-9][a-zA-Z0-9]\|[a-zA-Z0-9]\{3\}[a-oq-zA-Z0-9]\)$/p'
a <- typed
a
aa <- typed
aa
aaa <-
aaa
aaaa <-
aaaa
aaaaa <-
aaaaa
help <- aha, no response from sed
aelp <-
aelp
helper <-
helper
P.S.私は〜、&、 - をサポートする正規表現の実装を書いたことを知っています。すぐにApacheに来ることはありません。 :P – Kaz
- 1. %と%の間の10文字の英数字の組み合わせに一致
- 2. 正規表現の単語の最初の文字は一致しますが、 "and"は一致しません。
- 3. 数字またはスペース+数字の後に一致しない単語の一致
- 4. は、Pythonの単語/文字列と完全に一致します
- 5. T-SQLは特殊文字と一致します。 Preは一致する必要がありますPrè
- 6. 正規表現:いくつかの文字と一致するか、または一致しない文字と一致します
- 7. タイプが一致しません:文字列が指定されました - ルビーの文字列に一致しようとしています
- 8. 正規表現では、文字列の末尾または特定の文字と一致します
- 9. Javascript配列内の複数の単語に一致する場合は文字列を選択します
- 10. Positive Lookbehindの後に特定の文字のすべてを一致させる
- 11. 一致しない場合は文字を置換します。
- 12. Regex:特定の単語が文字列内で一致する場合、IsMatchを失敗させる方法
- 13. 単純なストアドプロシージャの照合の組み合わせが不一致
- 14. 小文字の単語に一致するが、特定の単語を除外するFlex(The Fast Lexical Analyzer)
- 15. グロブパターンのヘルプ - 特定の文字列と一致しないファイル
- 16. 文字列内の全単語を一致させるPCRE
- 17. 特定の文字を置換しますが、一致するものは置換しません
- 18. 正確な単語の一致(英語以外の文字)
- 19. 改行文字のみと一致
- 20. RegExは前後に特定の単語のない単語のみを一致させます
- 21. 一部の文字列ではHTaccessでURLに一致しますが、他の文字列では一致しません。
- 22. Solr MoreLikeこのクエリは改行文字と一致します
- 23. solrの一致する単語の数をカウントしますか?
- 24. はパターンがArrayList文字列変数と一致していません
- 25. preg_matchは1つだけ一致する必要がある場合は2文字に一致します
- 26. 正規表現:特定の単語まですべて一致(PHP)
- 27. 特定のパターンまでの文字列の一致
- 28. スカラ:特定の単語とカウント周波数を一致
- 29. 1文字で文字列の不一致があります
- 30. MYSQL文字列の一部に一致します
実際に解決しようとしている問題は何ですか? "ヘルプ"を受け取り、あなたが望むものを何でも実行する、より高い優先順位(すなわち、最初にチェックされる)を有するリライトルールを単に有することは、ここでの最良の解決策である可能性が非常に高い。 –
@AlexanderCorwin私は「ヘルプルール」を持っていますが、そのルールを取るリンクをクリックすると、実際には最後のRewriteRuleが取られ、他のものもスキップされます。 RewriteRule ^/help /?$ help.php'は 'RewriteRule ^([a-zA-Z0-9] +)/ a /([^ /] +)/([^])で処理されます。 /] +)/?$ page.php?var1 = $ 1&var2 = $ 2&var3 = $ 3' EDIT-気にしないでください。 – qitch