asp.net 驗證正則表達式


基本元字符
. 任意的一個非換行字符
[] 集合匹配,匹配一個[]中出現的字符. 是在多個字符中取一個.
() 調整優先級的作用. 還有一個分組的作用
| 或的意思,測試|一下. 注意,或的優先級最低

限定元字符
+ 緊跟這個符號前面的元素出現1次到多次 {1,}
* 緊跟這個符號前面的元素出現0次到多次 {0,}
? 緊跟這個符號前面的元素有或沒有 {0,1}
{n} 緊跟這個符號前面的元素出現n次
{n,} 緊跟這個符號前面的元素出現n次,最多無限次
{n,m} 緊跟這個符號前面的元素出現n次,最多m次

首尾元字符
\d+ "abc123def" "123"
^ 必須以某某字符開頭的含義,在[]表示否定 [^abc]  例如:^\d+(必須以數字開頭)
$ 必須以某某結尾   例如:\d+$(必須以數字結尾),^\d+$(必須以數字開頭和結尾)
$ 分組后對組的引用   

簡寫元字符(小寫肯定,大寫否定)
\d 數字 \D 非數字  digit 
\w 文本 \W 非文本  word
\s 空格 \S 非空格  space

 

JavaScript、C#
-> C#中
命名空間:System.Text.RegylarExpressions;
Regex
Match
MatchCollection
-> 四個模型
bool Ragex.IsMatch(處理文本, 正則表達式);  文本是否有正則表達式內容
Match Regex.Match(處理文本, 正則表達式);  在文本當中將匹配的內容提取出來(只匹配從左到右第一個)
MatchCollection Regex.Matches(處理文本, 正則表達式);  提取所有匹配文本
string Regex.Replace(處理字符串, 正則表達式, 替換字符串);
1------2-----3---4---5--6---7-----8-----9
Regex.Replace(s, @"\-+", "-")

 

提取的知識點
-> 提取的兩種語法
-> 貪婪模式
-> 分組(如何分、如何用),

[\s\S]表示任意字符
WebClient wc = new WebClient();
            string html1 = wc.DownloadString("http://192.168.1.250/");
             src="[^"]+"


            string html = File.ReadAllText("1.txt", Encoding.Default);
            string regex = @"【\s*\d+\s*】[\s\S]+?</div>";
            Match m = Regex.Match(html, regex);
            Match mm;
            string s; 
            if (m.Success)
            {
                mm = Regex.Match(m.Value, @">[\s\S]+<");
                s = mm.Value.Trim('>', '<', '\t', '\r', '\n');
                s = Regex.Replace(s, @"\s+", "");
            }
List<string> list = new List<string>();
            MatchCollection mc = Regex.Matches(html, regex);
            for (int i = 0; i < mc.Count; i++)
            {
                Match m = mc[i];
                Match mm;
                string s;
                if (m.Success)
                {
                    mm = Regex.Match(m.Value, @">[\s\S]+<");
                    s = mm.Value.Trim('>', '<', '\t', '\r', '\n');
                    s = Regex.Replace(s, @"\s+", "");

                    list.Add(s);
                }
            }

 

string ip = "http://192.168.1.250/";
            WebClient wc = new WebClient();
            string html1 = wc.DownloadString("http://192.168.1.250/");
            // src="[^"]+"
            // 分組編號從左往右分別從1開始
            MatchCollection mc = Regex.Matches(html1, @"src=""([^""]+jpg)""");
            for (int i = 0; i < mc.Count; i++)
            {
                Match m = mc[i];
                string t = m.Groups[1].Value;
                // http://www.123.com/123.jpg
                string address = ip.TrimEnd('/') + "/" + t;
                wc.DownloadFile(address, i + ".jpg");
            }

 

asp.net 驗證正則表達式

整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^\d{n}$"。
只能輸入至少n位的數字:"^\d{n,}$"。
只能輸入m~n位的數字:。"^\d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
只能輸入長度為3的字符:"^.{3}$"。
只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下划線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下划線。
驗證是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。整數或者小數:^[0-9]+\.{0,1}[0-9]{0,2}$
只能輸入數字:"^[0-9]*$"。
只能輸入n位的數字:"^\d{n}$"。
只能輸入至少n位的數字:"^\d{n,}$"。
只能輸入m~n位的數字:。"^\d{m,n}$"
只能輸入零和非零開頭的數字:"^(0|[1-9][0-9]*)$"。
只能輸入有兩位小數的正實數:"^[0-9]+(.[0-9]{2})?$"。
只能輸入有1~3位小數的正實數:"^[0-9]+(.[0-9]{1,3})?$"。
只能輸入非零的正整數:"^\+?[1-9][0-9]*$"。
只能輸入非零的負整數:"^\-[1-9][]0-9"*$。
只能輸入長度為3的字符:"^.{3}$"。
只能輸入由26個英文字母組成的字符串:"^[A-Za-z]+$"。
只能輸入由26個大寫英文字母組成的字符串:"^[A-Z]+$"。
只能輸入由26個小寫英文字母組成的字符串:"^[a-z]+$"。
只能輸入由數字和26個英文字母組成的字符串:"^[A-Za-z0-9]+$"。
只能輸入由數字、26個英文字母或者下划線組成的字符串:"^\w+$"。
驗證用戶密碼:"^[a-zA-Z]\w{5,17}$"正確格式為:以字母開頭,長度在6~18之間,只能包含字符、數字和下划線。
驗證是否含有^%&'',;=?$\"等字符:"[^%&'',;=?$\x22]+"。
只能輸入漢字:"^[\u4e00-\u9fa5]{0,}$"
驗證Email地址:"^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$"。
驗證InternetURL:"^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$"。
驗證電話號碼:"^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$"正確格式為:"XXX-XXXXXXX"、"XXXX- XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX"。
驗證身份證號(15位或18位數字):"^\d{15}|\d{18}$"。
驗證一年的12個月:"^(0?[1-9]|1[0-2])$"正確格式為:"01"~"09"和"1"~"12"。
驗證一個月的31天:"^((0?[1-9])|((1|2)[0-9])|30|31)$"正確格式為;"01"~"09"和"1"~"31"。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM