亚洲成人一区在线观看_天堂网www_国产精品久久9_中文在线播放_伊人天天_久久精品久久久精品美女

當前位置:首頁 > 網站舊欄目 > 學習園地 > 設計軟件教程 > D語言的正則表達式例子

D語言的正則表達式例子
2010-01-13 21:14:07  作者:  來源:

D語言的正則表達式例子

Java代碼
module regexp;  
 
import std.stdio : writefln;  
import std.regexp;  
import std.c.stdio;  
 
bool isalpha(char[] c)  
{  
    RegExp myRegExp;  
    myRegExp = new RegExp("^[a-zA-Z_]+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool isspace(char[] c)  
{  
     /* true if c is whitespace, false otherwise */ 
 
    RegExp myRegExp = new RegExp("^\\s+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool isdigit(char[] c)  
/* true if c is a decimal digit, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^\\d+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool ishexdigit(char[] c)  
/* true if c is a hexadecimal digit, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^[0-9A-F]+$", "");  
    /* If it were D code, "_" would also be valid */ 
 
    return cast(bit) myRegExp.test(c);  
}  
 
bool isoctdigit(char[] c)  
/* true if c is an octal digit, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^[0-7]+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool issymbol(char[] c)  
/* true if c is legal SQL symbol, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^[\\(\\)\\[\\]\\.,;=<>\\+\\-\\*/&\\^]+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool isDate(char[] c)  
/* true if c is a date, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("((((19){1}|(20){1})d{2})|d{2})[01]{1}d{1}[0-3]{1}d{1}", ""); //1900  
    return cast(bool) myRegExp.test(c);  
}  
 
bool isChinese(char[] c)  
/* true if c is a chinese string, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^[\u4e00-\u9fa5]+$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool iscnPhone(char[] c)  
/* true if c is a china phone code, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("\\d{3}-\\d{8}|\\d{4}-\\d{7}", "g");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool iscnMobile(char[] c)  
/* true if c is a china Mobile code, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^((\\(\\d{2,3}\\))|(\\d{3}\\-))?13\\d{9}$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool iscnZip(char[] c)  
/* true if c is a china ZIP, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("^[0-9]\\d{5}$", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
bool iscnIDcard(char[] c)  
/* true if c is a china ID card, false otherwise */ 
{  
    RegExp myRegExp = new RegExp("\\d{15}|\\d{18}", "");  
    return cast(bool) myRegExp.test(c);  
}  
 
unittest  
{  
    /* compile with the -unittest flag to run these tests */ 
 
    writefln("Testing functions...");  
 
    assert(isalpha("a") && isalpha("A") && !isalpha("9") && isalpha("_") && isalpha("R") && !isalpha("&"));  
 
    assert(issymbol("(") && issymbol(")") && issymbol("[") && issymbol("]") && issymbol(")") &&  
      issymbol("[") && issymbol("]") && issymbol("-") && issymbol("/") && issymbol("=") && issymbol("*") &&  
      issymbol(".") && !issymbol("a") && !issymbol("0") && !issymbol("Y") && !issymbol("\\"));  
 
    assert(isdigit("0") && isdigit("7") && isdigit("9") && !isdigit("A")  && !isdigit("^") && !isdigit("G"));  
 
    assert(ishexdigit("0") && ishexdigit("7") && ishexdigit("A")  && !ishexdigit("^") && !ishexdigit("G"));  
 
    assert(isoctdigit("0") && isoctdigit("7") && !isoctdigit("8")  && !isoctdigit("A")  && !isoctdigit("^"));  
 
    assert(isspace(" ")  && isspace("\t") && !isspace("o")  && !isspace(".")  && !isspace("5"));  
 
    assert(isChinese("中文")  && isChinese("哦") && !isChinese("*.")  && !isChinese("abcd")  && !isChinese("5"));  
 
        assert(iscnPhone("010-12345678")  && iscnPhone("0710-1234567") && !iscnPhone("01-12345")  && !iscnPhone("010-12")  && !iscnPhone("0314-123456") && iscnPhone("0314-12345678-90")&& iscnPhone("0314-12345678-901") && iscnPhone("012345-12345678-901") );  
 
        assert(iscnMobile("13123456789")&& !iscnMobile("139123456789") && !iscnMobile("*.")  && !iscnMobile("abcd")  && !iscnMobile("5")  );  
 
        assert(iscnZip("100081")&& iscnZip("012346") && !iscnZip("*.")  && !iscnZip("abcd")  && !iscnZip("5")  );  
 
 
    writefln("Functions tested successfully.");  
}  
 
void main()  
{  
    /* Compile with the -debug flag for this statement to run. */ 
 
    debug writefln("Main Program.");  
 

更多信息請登陸http://61.191.27.74:802/ 最后,歡迎加入http://61.191.27.74:802/的會員


安徽新華電腦學校專業職業規劃師為你提供更多幫助【在線咨詢
主站蜘蛛池模板: 久久免费精品视频 | 不卡视频一区二区三区 | 亚洲欧美精品久久 | 中文字幕av一区二区三区 | 日韩欧美在线观看一区 | av中文字幕在线观看 | 日本精品一区二区三区在线观看 | 亚洲黄色成人 | 在线视频 亚洲 | 在线播放国产精品 | 欧美.com| 亚洲免费小视频 | 欧美成在线视频 | 国产精品久久久久久久久久 | 91精品久久久久久久 | 国产成人综合一区二区三区 | 精品国产乱码一区二区三区四区 | 日韩在线亚洲 | 成人午夜在线视频 | 欧美成人一区二区 | 日本中文字幕在线视频 | 欧美精品1区2区3区 精品国产欧美一区二区 | 亚洲97视频 | 国产一区二区在线视频观看 | 一区二区不卡 | 欧洲一区二区在线观看 | 欧美11一13sex性hd| а天堂中文最新一区二区三区 | 国产成人免费 | 热久久影院 | av男人的天堂网 | 欧美日本国产欧美日本韩国99 | 探花在线观看 | 麻豆国产一区二区三区四区 | 中文字幕日韩欧美 | 国产精品一区二 | 91观看 | 中文字幕日韩专区 | 久久99深爱久久99精品 | 国产高清在线精品一区二区三区 | 天天干天操 |