2

正規表現を使用してWebサイトのアドレスを検証しています。しかし、iPhoneではフォーマットが正しくないため、機能していません。その論理はほぼ正しいです。誰かがiPhoneで私のためにこの正規表現を再構築できますか?

(?<http>(http:[/][/]|www.)([a-z]|[A-Z]|[0-9]|[/.]|[~])*)
4

5 に答える 5

6

これをチェックしてください

NSString *urlRegEx =
@"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
于 2012-09-14T06:34:39.083 に答える
1

この以下の方法を使用してください

- (BOOL) validateUrl: (NSString *) stringURL {
    NSString *urlRegEx =
    @"(http|https)://((\\w)*|([0-9]*)|([-|_])*)+([\\.|/]((\\w)*|([0-9]*)|([-|_])*))+";
    NSPredicate *urlTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", urlRegEx]; 
    return [urlTest evaluateWithObject:stringURL];
}

これがお役に立てば幸いです...

:)

于 2012-09-14T07:27:27.233 に答える
1

受け入れられた回答の正規表現に問題がある人のために、ここに私が使用しているバージョンがあります:

(https?)://(([\\w\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\(\\)\\[\\]\\{\\}\\?\\<\\>])*)+([\\.|/](([\\w\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\(\\)\\[\\]\\{\\}\\?\\<\\>])*))+

受け入れられた回答の正規表現の問題は、次のとおりです。\w-すでに「_」と数字が含まれている

最初のドットの後に「-」が付いているURLの場合は失敗します

于 2015-08-06T10:44:25.983 に答える
1

これはhttp/https / plainsubdomain.domain.suffixリンクをキャッチします:(Grzegorz Krukowskiによる良い答えに基づく)

@"((https?)://)?(([\\w\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\(\\)\\[\\]\\{\\}\\?\\<\\>])*)+([\\.|/](([\\w\\!\\@\\#\\$\\%\\^\\&\\*\\(\\)\\-\\+\\=\\(\\)\\[\\]\\{\\}\\?\\<\\>])+))+"

于 2016-01-13T15:38:12.470 に答える
1

私の場合、これが決定的な表現です。

NSString *URLRegEx = 
@"((https?://www[.][a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].{2,}[.][a-zA-Z0-9]{2,})|(www[.][a-zA-Z0-9][a-zA-Z0-9-]+[a-zA-Z0-9].{2,}[.][a-zA-Z0-9]{2,})|([a-zA-Z0-9\-]{2,}[.][a-zA-Z0-9]{2,}))";

一致するケースの例:

一致しない場合:

等...

これらすべてのケースを許可したくない場合は、式からそれらを削除する必要があります。

于 2018-01-30T12:40:01.023 に答える