2012-04-13 14 views
-1

I持っていたURLと一致するようにしようと、次の正規表現:URLの正規表現をより具体的にするにはどうすればよいですか?

/((http|https):(([A-Za-z0-9$_.+!*(),;/?:@&~=-])|%[A-Fa-f0-9]{2}){2,}(#([a-zA-Z0-9][a-zA-Z0-9$_.+!*(),;/?:@&~=%-]*))?([A-Za-z0-9$_+!*();/?:~-]))/g 

どのように私は単一のドメインのURLを一致させるために、この正規表現を変更することができますか?

たとえば、http://www.google.comで始まるURLのみを一致させたいですか?

これは私の正規表現を簡素化する必要がありますが、私はそれが働いて得るために正規表現のnoobのが多すぎるんだ(すべてのこれらの年後に...)

+0

最もREエンジンは( 'について知っていることに注意してください:?| B ) '(または同様のもの)を使用して、不要なグループを生成することなく代替案に一致させることができます。さらに、 'http'と' https'の両方にマッチさせるために 'https? 'を使うこともできます。 – hochl

+0

'https? 'に関する素晴らしいヒント。 – eoinoc

答えて

1

あなたは正規表現という書き込みをしましたか?私はそれが何をしようとしているのか分からないが、確かにURLに正しく一致しない。ここには一致するものがあります:

http:@@#[email protected]?~ 

私は確かに有効なURLではありません。

RegExを使用してこのようなURLに一致させるべきではありません。あなたは、あなたが作業しているどのような言語と述べていないが、urlparseのそれと同等であるものは何でも利用...ここ

は、関連する質問です:How do you validate a URL with a regular expression in Python?

+0

こんにちはカール、それは私が働いているJavaScriptです。それは私が具体的にURLを検証しているわけではありません。文字列があると、私は興味のあるすべてのURLを見つけることを試みています(文字列を追加できるようにするため)。 – eoinoc

+1

検証に興味がないなら、これはURLのようなものと一致します: 'https?://(?:www \。)google \ .com [^] *' –

関連する問題