2009-04-15 14 views
0

誰でも、z文字、0-9の数字、 - 、http://(httpsは必須ではありません)、wwwを持つことができる小文字のURLのみに一致する正規表現を書くことはできますか? default.aspxはありませんか?小文字の正規表現のURL

これは一致している必要がありますregexでのURLです:
http://www.somedomain.net/news/148/some-text-to-act-as-news-title.aspx

または

http://subdomain.somedomain.net/news/148/some-text-to-act-as-news-title.aspx(WWW withour)

正規表現は、大文字とのdefault.aspx

を持っている任意のURLと一致してはいけません

私はいくつかのURLに一致するいくつかの基本正規表現を行いました。

ありがとうございます。 - *

つだけの言葉、言葉と一致する - 再編集と数字


おかげ[-Z0-9] {1、}:

EDITED


は、これが私の試みです皆さんに皆さん。

+0

は、あなたがこれまでの問題を自分で解決するために作った試みるかを示すことはできますか? – pmarflee

+0

_your_ regexesも投稿した方が良いでしょう。 – Seb

+0

申し訳ありません。私は私の質問を編集しました。 – lopkiju

答えて

2

先読みアサーションとソリューション:

^http://[a-z0-9-.]+(?:(?!/default\.aspx)/[a-z0-9-.]+)*$ 
2
^http://((?!default\.aspx)[a-z0-9\-\./])*$ 
0

大文字と大文字のlangでdefault.aspxを持つURLを除外する必要があります。しかし、すべてが欲しいのであれば、キャップがこれをします。

[a-z/- 0-9]* 
+0

なぜネイティブラングを使用していますか?正規表現は、そのようなパターンマッチングのために完璧です... – Lucero

+0

正規表現の一般的なルールは、正規表現よりも通常簡単に何かを簡単に行うことができるネイティブ言語の検索機能を持つ場合です。もしあなたが「UC charを持っているならば、この行をスキップする」と言いたいなら、それはおそらくNLでもっと速くなるでしょう。 – Keng

2
^http://[a-z0-9.-]+\.[a-z0-9]+(/(?!.*default\.aspx)[a-z0-9./-]+)?$ 
+1

あなたは私がしたのと同じタイプミスをしました。あなたはdefault.aspxでそのドットをエスケープする必要があります。私は[]でそれをエスケープすることを提案します;) – Lucero