中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C語言字符串中的URL有效性檢查

發布時間:2024-08-29 21:13:50 來源:億速云 閱讀:106 作者:小樊 欄目:編程語言

在C語言中,檢查一個字符串中的URL有效性可以通過正則表達式和字符串操作來實現

#include<stdio.h>
#include <stdbool.h>
#include<string.h>
#include<regex.h>

bool is_valid_url(const char *url) {
    // 定義一個正則表達式,用于匹配有效的URL
    const char *pattern = "^(http|https)://[a-zA-Z0-9-._]+\\.[a-zA-Z]{2,}$";
    
    regex_t regex;
    int reti;
    char msgbuf[100];

    // 編譯正則表達式
    reti = regcomp(&regex, pattern, REG_EXTENDED);
    if (reti) {
        fprintf(stderr, "Could not compile regex\n");
        return false;
    }

    // 使用正則表達式匹配URL
    reti = regexec(&regex, url, 0, NULL, 0);
    if (!reti) {
        // 匹配成功,URL有效
        regfree(&regex);
        return true;
    } else if (reti == REG_NOMATCH) {
        // 匹配失敗,URL無效
        regfree(&regex);
        return false;
    } else {
        // 發生錯誤
        regerror(reti, &regex, msgbuf, sizeof(msgbuf));
        fprintf(stderr, "Regex match failed: %s\n", msgbuf);
        regfree(&regex);
        return false;
    }
}

int main() {
    const char *url1 = "https://www.example.com";
    const char *url2 = "not_a_valid_url";

    printf("URL 1: %s, valid: %s\n", url1, is_valid_url(url1) ? "true" : "false");
    printf("URL 2: %s, valid: %s\n", url2, is_valid_url(url2) ? "true" : "false");

    return 0;
}

這個示例中,我們定義了一個名為is_valid_url的函數,該函數接受一個字符串參數url。我們使用正則表達式^(http|https)://[a-zA-Z0-9-._]+\\.[a-zA-Z]{2,}$來匹配有效的URL。然后,我們使用regcomp函數編譯正則表達式,并使用regexec函數執行匹配。如果匹配成功,說明URL有效,返回true;否則,返回false

請注意,這個示例僅適用于Linux系統。如果你使用的是Windows系統,你需要包含<windows.h>頭文件,并使用_snprintf函數替換snprintf函數。此外,你還需要將REG_EXTENDED替換為REG_EXTENDED | REG_ICASE,以便在Windows系統上正確處理大小寫敏感的正則表達式。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

小金县| 同心县| 克拉玛依市| 金溪县| 叙永县| 阿坝县| 宿迁市| 阿克陶县| 绵阳市| 浮梁县| 清苑县| 白河县| 仙居县| 新疆| 河东区| 墨竹工卡县| 九龙坡区| 太仆寺旗| 松溪县| 青川县| 岑巩县| 吉木萨尔县| 衢州市| 邓州市| 临邑县| 临颍县| 休宁县| 绩溪县| 松原市| 海林市| 乡宁县| 喀什市| 澄城县| 平度市| 丰镇市| 永川市| 颍上县| 泽库县| 庆云县| 行唐县| 宣恩县|