3

一部のテキストにURLと空白のみが含まれ、他に何も含まれていないかどうかを確認する正規表現を作成しようとしています:

http://www.google.com http://www.stackoverflow.com

一致しますが、次のとおりです。

http://www.google.com and http://www.stackoverflow.com

一致しません。

これは可能ですか?

4

5 に答える 5

1

この正規表現を使用できます (http:// で始まるスペースの間にある場合のみテストします):

/^(?:https?:\/\/\S++\s*+)++$/ =~ text
于 2013-04-27T01:00:50.630 に答える
0
words.split.all? { |word| word.match(/^http:/) }
于 2013-04-27T00:41:09.190 に答える
0

本当に正規表現を使用したい場合は、これを試してください:

(?< protocol>\w+):\/\/(?< domain>[\w@][\w.:@]+)\/?[\w\.?=%&=\-@/$,]*

「プロトコル」と「ドメイン」の前のスペースを削除してください。

文字列を空白で分割し、各文字列が上記の正規表現と一致するかどうかを確認します。

それが役に立てば幸い!

于 2013-04-27T00:59:59.763 に答える
0

これは任意の URL をチェックします。文字列は、URL 区切り文字として単一の空白のみを含む URL である必要があります。

このライブデモを見てください

(((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)\s){1,}((mailto\:|(news|(ht|f)tp(s?))\://){1}\S+)$

参照:

http://www.regular-expressions.info/reference.html

http://regexlib.com/Search.aspx?k=URL&AspxAutoDetectCookieSupport=1

于 2013-04-27T00:57:19.767 に答える