锘??xml version="1.0" encoding="utf-8" standalone="yes"?>日本精品视频,久久久综合精品,日产精品久久久一区二区http://www.aygfsteel.com/WshmAndLily/articles/187304.htmlsemovysemovyWed, 19 Mar 2008 09:12:00 GMThttp://www.aygfsteel.com/WshmAndLily/articles/187304.htmlhttp://www.aygfsteel.com/WshmAndLily/comments/187304.htmlhttp://www.aygfsteel.com/WshmAndLily/articles/187304.html#Feedback0http://www.aygfsteel.com/WshmAndLily/comments/commentRss/187304.htmlhttp://www.aygfsteel.com/WshmAndLily/services/trackbacks/187304.html  澶у閮界煡閬擄紝姝e垯琛ㄨ揪寮忔槸涓€縐嶅彲浠ョ敤浜庢ā寮忓尮閰嶅拰鏇挎崲鐨勮鑼冿紝涓€涓鍒欒〃杈懼紡灝辨槸鐢辨櫘閫氱殑瀛楃錛堜緥濡傚瓧絎鍒皕錛変互鍙?qiáng)鐗箤D婂瓧絎︼紙鍏冨瓧絎︼級(jí)緇勬垚鐨勬枃瀛楁ā寮忥紝瀹冪敤浠ユ弿榪板湪鏌ユ壘鏂囧瓧涓諱綋鏃跺緟鍖歸厤鐨勪竴涓垨澶氫釜瀛楃涓層€傛鍒欒〃杈懼紡浣滀負(fù)涓€涓ā鏉匡紝灝嗘煇涓瓧絎︽ā寮忎笌鎵€鎼滅儲(chǔ)鐨勫瓧絎︿覆榪涜鍖歸厤銆?br />   鑷粠jdk1.4鎺ㄥ嚭java.util.regex鍖咃紝灝變負(fù)鎴戜滑鎻愪緵浜?jiǎn)寰堝ソ鐨凧AVA姝e垯琛ㄨ揪寮忓簲鐢ㄥ鉤鍙般€?br />  
 鍥犱負(fù)姝e垯琛ㄨ揪寮忔槸涓€涓緢搴炴潅鐨勪綋緋伙紝鎵€浠ユ垜浠呬緥涓句簺鍏ラ棬鐨勬蹇碉紝鏇村鐨勮鍙傞槄鐩稿叧涔︾睄鍙?qiáng)鑷鎽哥储銆?

\\ 鍙嶆枩鏉?br /> \t 闂撮殧 ('\u0009')
\n 鎹㈣ ('\u000A')
\r 鍥炶濺 ('\u000D')
\d 鏁板瓧 絳変環(huán)浜嶽0-9]
\D 闈炴暟瀛?絳変環(huán)浜嶽^0-9]
\s 絀虹櫧絎﹀彿 [\t\n\x0B\f\r]
\S 闈炵┖鐧界鍙?[^\t\n\x0B\f\r]
\w 鍗曠嫭瀛楃 [a-zA-Z_0-9]
\W 闈炲崟鐙瓧絎?[^a-zA-Z_0-9]
\f 鎹㈤〉絎?br /> \e Escape
\b 涓€涓崟璇嶇殑杈圭晫
\B 涓€涓潪鍗曡瘝鐨勮竟鐣?br /> \G 鍓嶄竴涓尮閰嶇殑緇撴潫

^涓洪檺鍒跺紑澶?br /> ^java     鏉′歡闄愬埗涓轟互Java涓哄紑澶村瓧絎?br /> $涓洪檺鍒剁粨灝?br /> java$     鏉′歡闄愬埗涓轟互java涓虹粨灝懼瓧絎?br /> .涓洪檺鍒朵竴涓換鎰忓瓧絎?br /> java..     鏉′歡闄愬埗涓簀ava鍚庨櫎鎹㈣澶栦換鎰忎袱涓瓧絎?br />

鍔犲叆鐗瑰畾闄愬埗鏉′歡銆孾]銆?br /> [a-z]     鏉′歡闄愬埗鍦ㄥ皬鍐檃 to z鑼冨洿涓竴涓瓧絎?br /> [A-Z]     鏉′歡闄愬埗鍦ㄥぇ鍐橝 to Z鑼冨洿涓竴涓瓧絎?br /> [a-zA-Z] 鏉′歡闄愬埗鍦ㄥ皬鍐檃 to z鎴栧ぇ鍐橝 to Z鑼冨洿涓竴涓瓧絎?br /> [0-9]     鏉′歡闄愬埗鍦ㄥ皬鍐? to 9鑼冨洿涓竴涓瓧絎?br /> [0-9a-z] 鏉′歡闄愬埗鍦ㄥ皬鍐? to 9鎴朼 to z鑼冨洿涓竴涓瓧絎?br /> [0-9[a-z]] 鏉′歡闄愬埗鍦ㄥ皬鍐? to 9鎴朼 to z鑼冨洿涓竴涓瓧絎?浜ら泦)

[]涓姞鍏鍚庡姞鍐嶆闄愬埗鏉′歡銆孾^]銆?br /> [^a-z]     鏉′歡闄愬埗鍦ㄩ潪灝忓啓a to z鑼冨洿涓竴涓瓧絎?br /> [^A-Z]     鏉′歡闄愬埗鍦ㄩ潪澶у啓A to Z鑼冨洿涓竴涓瓧絎?br /> [^a-zA-Z] 鏉′歡闄愬埗鍦ㄩ潪灝忓啓a to z鎴栧ぇ鍐橝 to Z鑼冨洿涓竴涓瓧絎?br /> [^0-9]     鏉′歡闄愬埗鍦ㄩ潪灝忓啓0 to 9鑼冨洿涓竴涓瓧絎?br /> [^0-9a-z] 鏉′歡闄愬埗鍦ㄩ潪灝忓啓0 to 9鎴朼 to z鑼冨洿涓竴涓瓧絎?br /> [^0-9[a-z]] 鏉′歡闄愬埗鍦ㄩ潪灝忓啓0 to 9鎴朼 to z鑼冨洿涓竴涓瓧絎?浜ら泦)

鍦ㄩ檺鍒舵潯浠朵負(fù)鐗瑰畾瀛楃鍑虹幇0嬈′互涓婃椂錛屽彲浠ヤ嬌鐢ㄣ€?銆?br /> J*     0涓互涓奐
.*     0涓互涓婁換鎰忓瓧絎?br /> J.*D     J涓嶥涔嬮棿0涓互涓婁換鎰忓瓧絎?br />
鍦ㄩ檺鍒舵潯浠朵負(fù)鐗瑰畾瀛楃鍑虹幇1嬈′互涓婃椂錛屽彲浠ヤ嬌鐢ㄣ€?銆?br /> J+     1涓互涓奐
.+     1涓互涓婁換鎰忓瓧絎?br /> J.+D     J涓嶥涔嬮棿1涓互涓婁換鎰忓瓧絎?br />
鍦ㄩ檺鍒舵潯浠朵負(fù)鐗瑰畾瀛楃鍑虹幇鏈?鎴?嬈′互涓婃椂錛屽彲浠ヤ嬌鐢ㄣ€?銆?br /> JA?     J鎴栬€匤A鍑虹幇

闄愬埗涓鴻繛緇嚭鐜版寚瀹氭鏁板瓧絎︺€寋a}銆?br /> J{2}     JJ
J{3}     JJJ
鏂囧瓧a涓互涓婏紝騫朵笖銆寋a,}銆?br /> J{3,}     JJJ,JJJJ,JJJJJ,???(3嬈′互涓奐騫跺瓨)
鏂囧瓧涓互涓婏紝b涓互涓嬨€寋a,b}銆?br /> J{3,5}     JJJ鎴朖JJJ鎴朖JJJJ
涓よ€呭彇涓€銆寍銆?br /> J|A     J鎴朅
Java|Hello     Java鎴朒ello
 
銆?)銆嶄腑瑙勫畾涓€涓粍鍚堢被鍨?br /> 姣斿錛屾垜鏌ヨ<a href=\"index.html\">index</a>涓?lt;a href></a>闂寸殑鏁版嵁錛屽彲鍐欎綔<a.*href=\".*\">(.+?)</a>

鍦ㄤ嬌鐢≒attern.compile鍑芥暟鏃訛紝鍙互鍔犲叆鎺у埗姝e垯琛ㄨ揪寮忕殑鍖歸厤琛屼負(fù)鐨勫弬鏁幫細(xì)
Pattern Pattern.compile(String regex, int flag)

flag鐨勫彇鍊艱寖鍥村涓嬶細(xì)
Pattern.CANON_EQ     褰撲笖浠呭綋涓や釜瀛楃鐨?姝h鍒嗚В(canonical decomposition)"閮藉畬鍏ㄧ浉鍚岀殑鎯呭喌涓嬶紝鎵嶈瀹氬尮閰嶃€傛瘮濡傜敤浜?jiǎn)杩欎釜鏍囧織涔嬪悗锛岃〃杈惧?a\u030A"浼?xì)鍖归??"銆傞粯璁ゆ儏鍐典笅錛屼笉鑰冭檻"瑙勮寖鐩哥瓑鎬?canonical equivalence)"銆?br /> Pattern.CASE_INSENSITIVE(?i)     榛樿鎯呭喌涓嬶紝澶у皬鍐欎笉鏄庢劅鐨勫尮閰嶅彧閫傜敤浜嶶S-ASCII瀛楃闆嗐€傝繖涓爣蹇楄兘璁╄〃杈懼紡蹇界暐澶у皬鍐欒繘琛屽尮閰嶃€傝鎯沖Unicode瀛楃榪涜澶у皬涓嶆槑鎰熺殑鍖歸厤錛屽彧瑕佸皢UNICODE_CASE涓庤繖涓爣蹇楀悎璧鋒潵灝辮浜?jiǎn)銆?br /> Pattern.COMMENTS(?x)     鍦ㄨ繖縐嶆ā寮忎笅錛屽尮閰嶆椂浼?xì)蹇界?姝e垯琛ㄨ揪寮忛噷鐨?絀烘牸瀛楃(璇戣€呮敞錛氫笉鏄寚琛ㄨ揪寮忛噷鐨?\\s"錛岃€屾槸鎸囪〃杈懼紡閲岀殑絀烘牸錛宼ab錛屽洖杞︿箣綾?銆傛敞閲婁粠#寮€濮嬶紝涓€鐩村埌榪欒緇撴潫銆傚彲浠ラ€氳繃宓屽叆寮忕殑鏍囧織鏉ュ惎鐢║nix琛屾ā寮忋€?br /> Pattern.DOTALL(?s)     鍦ㄨ繖縐嶆ā寮忎笅錛岃〃杈懼紡'.'鍙互鍖歸厤浠繪剰瀛楃錛屽寘鎷〃紺轟竴琛岀殑緇撴潫絎︺€傞粯璁ゆ儏鍐典笅錛岃〃杈懼紡'.'涓嶅尮閰嶈鐨勭粨鏉熺銆?br /> Pattern.MULTILINE
(?m)     鍦ㄨ繖縐嶆ā寮忎笅錛?^'鍜?$'鍒嗗埆鍖歸厤涓€琛岀殑寮€濮嬪拰緇撴潫銆傛澶栵紝'^'浠嶇劧鍖歸厤瀛楃涓茬殑寮€濮嬶紝'$'涔熷尮閰嶅瓧絎︿覆鐨勭粨鏉熴€傞粯璁ゆ儏鍐典笅錛岃繖涓や釜琛ㄨ揪寮忎粎浠呭尮閰嶅瓧絎︿覆鐨勫紑濮嬪拰緇撴潫銆?br /> Pattern.UNICODE_CASE
(?u)     鍦ㄨ繖涓ā寮忎笅錛屽鏋滀綘榪樺惎鐢ㄤ簡(jiǎn)CASE_INSENSITIVE鏍囧織錛岄偅涔堝畠浼?xì)瀵筓nicode瀛楃榪涜澶у皬鍐欎笉鏄庢劅鐨勫尮閰嶃€傞粯璁ゆ儏鍐典笅錛屽ぇ灝忓啓涓嶆晱鎰熺殑鍖歸厤鍙€傜敤浜嶶S-ASCII瀛楃闆嗐€?br /> Pattern.UNIX_LINES(?d)     鍦ㄨ繖涓ā寮忎笅錛屽彧鏈?\n'鎵嶈璁や綔涓€琛岀殑涓錛屽茍涓斾笌'.'錛?^'錛屼互鍙?$'榪涜鍖歸厤銆?br />

鎶涘紑絀烘硾鐨勬蹇碉紝涓嬮潰鍐欏嚭鍑犱釜綆€鍗曠殑Java姝e垯鐢ㄤ緥錛?br />
鈼嗘瘮濡傦紝鍦ㄥ瓧絎︿覆鍖呭惈楠岃瘉鏃?br />
//鏌ユ壘浠ava寮€澶?浠繪剰緇撳熬鐨勫瓧絎︿覆
  Pattern pattern = Pattern.compile("^Java.*");
  Matcher matcher = pattern.matcher("Java涓嶆槸浜?);
  boolean b= matcher.matches();
  //褰撴潯浠舵弧瓚蟲椂錛屽皢榪斿洖true錛屽惁鍒欒繑鍥瀎alse
  System.out.println(b);


鈼嗕互澶氭潯浠跺垎鍓插瓧絎︿覆鏃?br /> Pattern pattern = Pattern.compile("[, |]+");
String[] strs = pattern.split("Java Hello World  Java,Hello,,World|Sun");
for (int i=0;i<strs.length;i++) {
    System.out.println(strs[i]);
}

鈼嗘枃瀛楁浛鎹紙棣栨鍑虹幇瀛楃錛?br /> Pattern pattern = Pattern.compile("姝e垯琛ㄨ揪寮?);
Matcher matcher = pattern.matcher("姝e垯琛ㄨ揪寮?Hello World,姝e垯琛ㄨ揪寮?Hello World");
//鏇挎崲絎竴涓鍚堟鍒欑殑鏁版嵁
System.out.println(matcher.replaceFirst("Java"));

鈼嗘枃瀛楁浛鎹紙鍏ㄩ儴錛?br /> Pattern pattern = Pattern.compile("姝e垯琛ㄨ揪寮?);
Matcher matcher = pattern.matcher("姝e垯琛ㄨ揪寮?Hello World,姝e垯琛ㄨ揪寮?Hello World");
//鏇挎崲絎竴涓鍚堟鍒欑殑鏁版嵁
System.out.println(matcher.replaceAll("Java"));


鈼嗘枃瀛楁浛鎹紙緗崲瀛楃錛?br /> Pattern pattern = Pattern.compile("姝e垯琛ㄨ揪寮?);
Matcher matcher = pattern.matcher("姝e垯琛ㄨ揪寮?Hello World,姝e垯琛ㄨ揪寮?Hello World ");
StringBuffer sbr = new StringBuffer();
while (matcher.find()) {
    matcher.appendReplacement(sbr, "Java");
}
matcher.appendTail(sbr);
System.out.println(sbr.toString());

鈼嗛獙璇佹槸鍚︿負(fù)閭鍦板潃

String str="ceponline@yahoo.com.cn";
Pattern pattern = Pattern.compile("[\\w\\.\\-]+@([\\w\\-]+\\.)+[\\w\\-]+",Pattern.CASE_INSENSITIVE);
Matcher matcher = pattern.matcher(str);
System.out.println(matcher.matches());

鈼嗗幓闄tml鏍囪
Pattern pattern = Pattern.compile("<.+?>", Pattern.DOTALL);
Matcher matcher = pattern.matcher("<a href=\"index.html\">涓婚〉</a>");
String string = matcher.replaceAll("");
System.out.println(string);

鈼嗘煡鎵緃tml涓搴旀潯浠跺瓧絎︿覆
Pattern pattern = Pattern.compile("href=\"(.+?)\"");
Matcher matcher = pattern.matcher("<a href=\"index.html\">涓婚〉</a>");
if(matcher.find())
  System.out.println(matcher.group(1));
}

鈼嗘埅鍙杊ttp://鍦板潃
//鎴彇url
Pattern pattern = Pattern.compile("(http://|https://){1}[\\w\\.\\-/:]+");
Matcher matcher = pattern.matcher("dsdsds<http://dsds//gfgffdfd>fdf");
StringBuffer buffer = new StringBuffer();
while(matcher.find()){             
    buffer.append(matcher.group());       
    buffer.append("\r\n");             
System.out.println(buffer.toString());
}
       
鈼嗘浛鎹㈡寚瀹歿}涓枃瀛?br />
String str = "Java鐩墠鐨勫彂灞曞彶鏄敱{0}騫?{1}騫?;
String[][] object={new String[]{"\\{0\\}","1995"},new String[]{"\\{1\\}","2007"}};
System.out.println(replace(str,object));

public static String replace(final String sourceString,Object[] object) {
            String temp=sourceString;   
            for(int i=0;i<object.length;i++){
                      String[] result=(String[])object[i];
               Pattern    pattern = Pattern.compile(result[0]);
               Matcher matcher = pattern.matcher(temp);
               temp=matcher.replaceAll(result[1]);
            }
            return temp;
}


鈼嗕互姝e垯鏉′歡鏌ヨ鎸囧畾鐩綍涓嬫枃浠?br />
 //鐢ㄤ簬緙撳瓨鏂囦歡鍒楄〃
        private ArrayList files = new ArrayList();
        //鐢ㄤ簬鎵胯澆鏂囦歡璺緞
        private String _path;
        //鐢ㄤ簬鎵胯澆鏈悎騫剁殑姝e垯鍏紡
        private String _regexp;
       
        class MyFileFilter implements FileFilter {

              /**
               * 鍖歸厤鏂囦歡鍚嶇О
               */
              public boolean accept(File file) {
                try {
                  Pattern pattern = Pattern.compile(_regexp);
                  Matcher match = pattern.matcher(file.getName());               
                  return match.matches();
                } catch (Exception e) {
                  return true;
                }
              }
            }
       
        /**
         * 瑙f瀽杈撳叆嫻?br />          * @param inputs
         */
        FilesAnalyze (String path,String regexp){
            getFileName(path,regexp);
        }
       
        /**
         * 鍒嗘瀽鏂囦歡鍚嶅茍鍔犲叆files
         * @param input
         */
        private void getFileName(String path,String regexp) {
            //鐩綍
              _path=path;
              _regexp=regexp;
              File directory = new File(_path);
              File[] filesFile = directory.listFiles(new MyFileFilter());
              if (filesFile == null) return;
              for (int j = 0; j < filesFile.length; j++) {
                files.add(filesFile[j]);
              }
              return;
            }
   
        /**
         * 鏄劇ず杈撳嚭淇℃伅
         * @param out
         */
        public void print (PrintStream out) {
            Iterator elements = files.iterator();
            while (elements.hasNext()) {
                File file=(File) elements.next();
                    out.println(file.getPath());   
            }
        }

        public static void output(String path,String regexp) {

            FilesAnalyze fileGroup1 = new FilesAnalyze(path,regexp);
            fileGroup1.print(System.out);
        }
   
        public static void main (String[] args) {
            output("C:\\","[A-z|.]*");
        }

Java姝e垯鐨勫姛鐢ㄨ繕鏈夊緢澶氾紝浜嬪疄涓婂彧瑕佹槸瀛楃澶勭悊錛屽氨娌℃湁姝e垯鍋氫笉鍒扮殑浜嬫儏瀛樺湪銆傦紙褰撶劧錛屾鍒欒В閲婃椂杈冭€楁椂闂村氨鏄簡(jiǎn)|||……錛?

semovy 2008-03-19 17:12 鍙戣〃璇勮
]]>
Java姝e垯琛ㄨ揪寮忚瑙杞琞http://www.aygfsteel.com/WshmAndLily/articles/141764.htmlsemovysemovyFri, 31 Aug 2007 08:22:00 GMThttp://www.aygfsteel.com/WshmAndLily/articles/141764.htmlhttp://www.aygfsteel.com/WshmAndLily/comments/141764.htmlhttp://www.aygfsteel.com/WshmAndLily/articles/141764.html#Feedback0http://www.aygfsteel.com/WshmAndLily/comments/commentRss/141764.htmlhttp://www.aygfsteel.com/WshmAndLily/services/trackbacks/141764.html 濡傛灉浣犳浘緇忕敤榪嘝erl鎴栦換浣曞叾浠栧唴寤烘鍒欒〃杈懼紡鏀寔鐨勮璦€錛屼綘涓€瀹氱煡閬撶敤姝e垯琛ㄨ揪寮忓鐞嗘枃鏈拰鍖歸厤妯″紡鏄涔堢畝鍗曘€傚鏋滀綘涓嶇啛鎮(zhèn)夎繖涓湳璇紝閭d箞“姝e垯琛ㄨ揪寮?#8221;錛圧egular Expression錛夊氨鏄竴涓瓧絎︽瀯鎴愮殑涓詫紝瀹冨畾涔変簡(jiǎn)涓€涓敤鏉ユ悳绱㈠尮閰嶅瓧絎︿覆鐨勬ā寮忋€?
璁稿璇█錛屽寘鎷琍erl銆丳HP銆丳ython銆丣avaScript鍜孞Script錛岄兘鏀寔鐢ㄦ鍒欒〃杈懼紡澶勭悊鏂囨湰錛屼竴浜涙枃鏈紪杈戝櫒鐢ㄦ鍒欒〃杈懼紡瀹炵幇楂樼駭“鎼滅儲(chǔ)-鏇挎崲”鍔熻兘銆傞偅涔圝ava鍙堟€庢牱鍛紵鏈枃鍐欎綔鏃訛紝涓€涓寘鍚簡(jiǎn)鐢ㄦ鍒欒〃杈懼紡榪涜鏂囨湰澶勭悊鐨凧ava瑙勮寖闇€姹傦紙Specification Request錛夊凡緇忓緱鍒拌鍙紝浣犲彲浠ユ湡寰呭湪JDK鐨勪笅涓€鐗堟湰涓湅鍒板畠銆?
鐒惰€岋紝濡傛灉鐜板湪灝遍渶瑕佷嬌鐢ㄦ鍒欒〃杈懼紡錛屽張璇ユ€庝箞鍔炲憿錛熶綘鍙互浠嶢pache.org涓嬭澆婧愪唬鐮佸紑鏀劇殑Jakarta-ORO搴撱€傛湰鏂囨帴涓嬫潵鐨勫唴瀹瑰厛綆€瑕佸湴浠嬬粛姝e垯琛ㄨ揪寮忕殑鍏ラ棬鐭ヨ瘑錛岀劧鍚庝互Jakarta-ORO API涓轟緥浠嬬粛濡備綍浣跨敤姝e垯琛ㄨ揪寮忋€?
涓€銆佹鍒欒〃杈懼紡鍩虹鐭ヨ瘑
鎴戜滑鍏堜粠綆€鍗曠殑寮€濮嬨€傚亣璁句綘瑕佹悳绱竴涓寘鍚瓧絎?#8220;cat”鐨勫瓧絎︿覆錛屾悳绱㈢敤鐨勬鍒欒〃杈懼紡灝辨槸“cat”銆傚鏋滄悳绱㈠澶у皬鍐欎笉鏁忔劅錛屽崟璇?#8220;catalog”銆?#8220;Catherine”銆?#8220;sophisticated”閮藉彲浠ュ尮閰嶃€備篃灝辨槸璇達(dá)細(xì)
1.1 鍙ョ偣絎﹀彿
鍋囪浣犲湪鐜╄嫳鏂囨嫾瀛楁父鎴忥紝鎯寵鎵懼嚭涓変釜瀛楁瘝鐨勫崟璇嶏紝鑰屼笖榪欎簺鍗曡瘝蹇呴』浠?#8220;t”瀛楁瘝寮€澶達(dá)紝浠?#8220;n”瀛楁瘝緇撴潫銆傚彟澶栵紝鍋囪鏈変竴鏈嫳鏂囧瓧鍏革紝浣犲彲浠ョ敤姝e垯琛ㄨ揪寮忔悳绱㈠畠鐨勫叏閮ㄥ唴瀹廣€傝鏋勯€犲嚭榪欎釜姝e垯琛ㄨ揪寮忥紝浣犲彲浠ヤ嬌鐢ㄤ竴涓€氶厤絎︹€斺€斿彞鐐圭鍙?#8220;.”銆傝繖鏍鳳紝瀹屾暣鐨勮〃杈懼紡灝辨槸“t.n”錛屽畠鍖歸厤“tan”銆?#8220;ten”銆?#8220;tin”鍜?#8220;ton”錛岃繕鍖歸厤“t#n”銆?#8220;tpn”鐢氳嚦“t n”錛岃繕鏈夊叾浠栬澶氭棤鎰忎箟鐨勭粍鍚堛€傝繖鏄洜涓哄彞鐐圭鍙峰尮閰嶆墍鏈夊瓧絎︼紝鍖呮嫭絀烘牸銆乀ab瀛楃鐢氳嚦鎹㈣絎︼細(xì)
1.2 鏂規(guī)嫭鍙風(fēng)鍙?/strong>
涓轟簡(jiǎn)瑙e喅鍙ョ偣絎﹀彿鍖歸厤鑼冨洿榪囦簬騫挎硾榪欎竴闂錛屼綘鍙互鍦ㄦ柟鎷彿錛?#8220;[]”錛夐噷闈㈡寚瀹氱湅鏉ユ湁鎰忎箟鐨勫瓧絎︺€傛鏃訛紝鍙湁鏂規(guī)嫭鍙烽噷闈㈡寚瀹氱殑瀛楃鎵嶅弬涓庡尮閰嶃€備篃灝辨槸璇達(dá)紝姝e垯琛ㄨ揪寮?#8220;t[aeio]n”鍙尮閰?#8220;tan”銆?#8220;Ten”銆?#8220;tin”鍜?#8220;ton”銆備絾“Toon”涓嶅尮閰嶏紝鍥犱負(fù)鍦ㄦ柟鎷彿涔嬪唴浣犲彧鑳藉尮閰嶅崟涓瓧絎︼細(xì)
1.3 “鎴?#8221;絎﹀彿
濡傛灉闄や簡(jiǎn)涓婇潰鍖歸厤鐨勬墍鏈夊崟璇嶄箣澶栵紝浣犺繕鎯寵鍖歸厤“toon”錛岄偅涔堬紝浣犲彲浠ヤ嬌鐢?#8220;|”鎿嶄綔絎︺€?#8220;|”鎿嶄綔絎︾殑鍩烘湰鎰忎箟灝辨槸“鎴?#8221;榪愮畻銆傝鍖歸厤“toon”錛屼嬌鐢?#8220;t(a|e|i|o|oo)n”姝e垯琛ㄨ揪寮忋€傝繖閲屼笉鑳戒嬌鐢ㄦ柟鎵╁彿錛屽洜涓烘柟鎷彿鍙厑璁稿尮閰嶅崟涓瓧絎︼紱榪欓噷蹇呴』浣跨敤鍦嗘嫭鍙?#8220;()”銆傚渾鎷彿榪樺彲浠ョ敤鏉ュ垎緇勶紝鍏蜂綋璇峰弬瑙佸悗闈粙緇嶃€?
1.4 琛ㄧず鍖歸厤嬈℃暟鐨勭鍙?/strong>
琛ㄤ竴鏄劇ず浜?jiǎn)琛ńC哄尮閰嶆鏁扮殑絎﹀彿錛岃繖浜涚鍙風(fēng)敤鏉ョ‘瀹氱揣闈犺絎﹀彿宸﹁竟鐨勭鍙峰嚭鐜扮殑嬈℃暟錛?

鍋囪鎴戜滑瑕佸湪鏂囨湰鏂囦歡涓悳绱㈢編鍥界殑紺句細(xì)瀹夊叏鍙風(fēng)爜銆傝繖涓彿鐮佺殑鏍煎紡鏄?99-99-9999銆傜敤鏉ュ尮閰嶅畠鐨勬鍒欒〃杈懼紡濡傚浘涓€鎵€紺恒€傚湪姝e垯琛ㄨ揪寮忎腑錛岃繛瀛楃錛?#8220;-”錛夋湁鐫€鐗規(guī)畩鐨勬剰涔夛紝瀹冭〃紺轟竴涓寖鍥達(dá)紝姣斿浠?鍒?銆傚洜姝わ紝鍖歸厤紺句細(xì)瀹夊叏鍙風(fēng)爜涓殑榪炲瓧絎﹀彿鏃訛紝瀹冪殑鍓嶉潰瑕佸姞涓婁竴涓漿涔夊瓧絎?#8220;\”銆?

鍥句竴錛氬尮閰嶆墍鏈?23-12-1234褰㈠紡鐨勭ぞ浼?xì)瀹夊叏鍙风?/p>

鍋囪榪涜鎼滅儲(chǔ)鐨勬椂鍊欙紝浣犲笇鏈涜繛瀛楃鍙峰彲浠ュ嚭鐜幫紝涔熷彲浠ヤ笉鍑虹幇鈥斺€斿嵆錛?99-99-9999鍜?99999999閮藉睘浜庢紜殑鏍煎紡銆傝繖鏃訛紝浣犲彲浠ュ湪榪炲瓧絎﹀彿鍚庨潰鍔犱笂“錛?#8221;鏁伴噺闄愬畾絎﹀彿錛屽鍥句簩鎵€紺猴細(xì)

鍥句簩錛氬尮閰嶆墍鏈?23-12-1234鍜?23121234褰㈠紡鐨勭ぞ浼?xì)瀹夊叏鍙风?/p>

涓嬮潰鎴戜滑鍐嶆潵鐪嬪彟澶栦竴涓緥瀛愩€傜編鍥芥苯杞︾墝鐓х殑涓€縐嶆牸寮忔槸鍥涗釜鏁板瓧鍔犱笂浜屼釜瀛楁瘝銆傚畠鐨勬鍒欒〃杈懼紡鍓嶉潰鏄暟瀛楅儴鍒?#8220;[0-9]{4}”錛屽啀鍔犱笂瀛楁瘝閮ㄥ垎“[A-Z]{2}”銆傚浘涓夋樉紺轟簡(jiǎn)瀹屾暣鐨勬鍒欒〃杈懼紡銆?

鍥句笁錛氬尮閰嶅吀鍨嬬殑緹庡浗姹借濺鐗岀収鍙風(fēng)爜錛屽8836KV

1.5 “鍚?#8221;絎﹀彿
“^”絎﹀彿縐頒負(fù)“鍚?#8221;絎﹀彿銆傚鏋滅敤鍦ㄦ柟鎷彿鍐咃紝“^”琛ㄧず涓嶆兂瑕佸尮閰嶇殑瀛楃銆備緥濡傦紝鍥懼洓鐨勬鍒欒〃杈懼紡鍖歸厤鎵€鏈夊崟璇嶏紝浣嗕互“X”瀛楁瘝寮€澶寸殑鍗曡瘝闄ゅ銆?

鍥懼洓錛氬尮閰嶆墍鏈夊崟璇嶏紝浣?#8220;X”寮€澶寸殑闄ゅ

1.6 鍦嗘嫭鍙峰拰絀虹櫧絎﹀彿
鍋囪瑕佷粠鏍煎紡涓?#8220;June 26, 1951”鐨勭敓鏃ユ棩鏈熶腑鎻愬彇鍑烘湀浠介儴鍒嗭紝鐢ㄦ潵鍖歸厤璇ユ棩鏈熺殑姝e垯琛ㄨ揪寮忓彲浠ュ鍥句簲鎵€紺猴細(xì)

鍥句簲錛氬尮閰嶆墍鏈塎oth DD,YYYY鏍煎紡鐨勬棩鏈?/p>

鏂板嚭鐜扮殑“\s”絎﹀彿鏄┖鐧界鍙鳳紝鍖歸厤鎵€鏈夌殑絀虹櫧瀛楃錛屽寘鎷琓ab瀛楃銆傚鏋滃瓧絎︿覆姝g‘鍖歸厤錛屾帴涓嬫潵濡備綍鎻愬彇鍑烘湀浠介儴鍒嗗憿錛熷彧闇€鍦ㄦ湀浠藉懆鍥村姞涓婁竴涓渾鎷彿鍒涘緩涓€涓粍錛岀劧鍚庣敤ORO API錛堟湰鏂囧悗闈㈣緇嗚璁猴級(jí)鎻愬彇鍑哄畠鐨勫€箋€備慨鏀瑰悗鐨勬鍒欒〃杈懼紡濡傚浘鍏墍紺猴細(xì)

鍥懼叚錛氬尮閰嶆墍鏈塎onth DD,YYYY鏍煎紡鐨勬棩鏈燂紝瀹氫箟鏈堜喚鍊間負(fù)絎竴涓粍

1.7 鍏跺畠絎﹀彿
涓虹畝渚胯搗瑙侊紝浣犲彲浠ヤ嬌鐢ㄤ竴浜涗負(fù)甯歌姝e垯琛ㄨ揪寮忓垱寤虹殑蹇嵎絎﹀彿銆傚琛ㄤ簩鎵€紺猴細(xì)
琛ㄤ簩錛氬父鐢ㄧ鍙?

渚嬪錛屽湪鍓嶉潰紺句細(xì)瀹夊叏鍙風(fēng)爜鐨勪緥瀛愪腑錛屾墍鏈夊嚭鐜?#8220;[0-9]”鐨勫湴鏂規(guī)垜浠兘鍙互浣跨敤“\d”銆備慨鏀瑰悗鐨勬鍒欒〃杈懼紡濡傚浘涓冩墍紺猴細(xì)

鍥句竷錛氬尮閰嶆墍鏈?23-12-1234鏍煎紡鐨勭ぞ浼?xì)瀹夊叏鍙风?/p>

浜屻€丣akarta-ORO搴?/font>
鏈夎澶氭簮浠g爜寮€鏀劇殑姝e垯琛ㄨ揪寮忓簱鍙緵Java紼嬪簭鍛樹嬌鐢紝鑰屼笖瀹冧滑涓殑璁稿鏀寔Perl 5鍏煎鐨勬鍒欒〃杈懼紡璇硶銆傛垜鍦ㄨ繖閲岄€夌敤鐨勬槸Jakarta-ORO姝e垯琛ㄨ揪寮忓簱錛屽畠鏄渶鍏ㄩ潰鐨勬鍒欒〃杈懼紡API涔嬩竴錛岃€屼笖瀹冧笌Perl 5姝e垯琛ㄨ揪寮忓畬鍏ㄥ吋瀹廣€傚彟澶栵紝瀹冧篃鏄紭鍖栧緱鏈€濂界殑API涔嬩竴銆?
Jakarta-ORO搴撲互鍓嶅彨鍋歄ROMatcher錛孌aniel Savarese澶ф柟鍦版妸瀹冭禒閫佺粰浜?jiǎn)Jakarta Project銆備綘鍙互鎸夌収鏈枃鏈€鍚庡弬鑰冭祫婧愮殑璇存槑涓嬭澆瀹冦€?
鎴戦鍏堝皢綆€瑕佷粙緇嶄嬌鐢↗akarta-ORO搴撴椂浣犲繀欏誨垱寤哄拰璁塊棶鐨勫璞★紝鐒跺悗浠嬬粛濡備綍浣跨敤Jakarta-ORO API銆?
鈻?PatternCompiler瀵硅薄
棣栧厛錛屽垱寤轟竴涓狿erl5Compiler綾葷殑瀹炰緥錛屽茍鎶婂畠璧嬪€肩粰PatternCompiler鎺ュ彛瀵硅薄銆侾erl5Compiler鏄疨atternCompiler鎺ュ彛鐨勪竴涓疄鐜幫紝鍏佽浣犳妸姝e垯琛ㄨ揪寮忕紪璇戞垚鐢ㄦ潵鍖歸厤鐨凱attern瀵硅薄銆?
鈻?Pattern瀵硅薄
瑕佹妸姝e垯琛ㄨ揪寮忕紪璇戞垚Pattern瀵硅薄錛岃皟鐢╟ompiler瀵硅薄鐨刢ompile()鏂規(guī)硶錛屽茍鍦ㄨ皟鐢ㄥ弬鏁頒腑鎸囧畾姝e垯琛ㄨ揪寮忋€備緥濡傦紝浣犲彲浠ユ寜鐓т笅闈㈣繖縐嶆柟寮忕紪璇戞鍒欒〃杈懼紡“t[aeio]n”錛?
榛樿鎯呭喌涓嬶紝緙栬瘧鍣ㄥ垱寤轟竴涓ぇ灝忓啓鏁忔劅鐨勬ā寮忥紙pattern錛夈€傚洜姝わ紝涓婇潰浠g爜緙栬瘧寰楀埌鐨勬ā寮忓彧鍖歸厤“tin”銆?#8220;tan”銆?“ten”鍜?#8220;ton”錛屼絾涓嶅尮閰?#8220;Tin”鍜?#8220;taN”銆傝鍒涘緩涓€涓ぇ灝忓啓涓嶆晱鎰熺殑妯″紡錛屼綘搴旇鍦ㄨ皟鐢ㄧ紪璇戝櫒鐨勬椂鍊欐寚瀹氫竴涓澶栫殑鍙傛暟錛?
鍒涘緩濂絇attern瀵硅薄涔嬪悗錛屼綘灝卞彲浠ラ€氳繃PatternMatcher綾葷敤璇attern瀵硅薄榪涜妯″紡鍖歸厤銆?
鈻?PatternMatcher瀵硅薄
PatternMatcher瀵硅薄鏍規(guī)嵁Pattern瀵硅薄鍜屽瓧絎︿覆榪涜鍖歸厤媯€(gè)鏌ャ€備綘瑕佸疄渚嬪寲涓€涓狿erl5Matcher綾誨茍鎶婄粨鏋滆祴鍊肩粰PatternMatcher鎺ュ彛銆侾erl5Matcher綾繪槸PatternMatcher鎺ュ彛鐨勪竴涓疄鐜幫紝瀹冩牴鎹甈erl 5姝e垯琛ㄨ揪寮忚娉曡繘琛屾ā寮忓尮閰嶏細(xì)
浣跨敤PatternMatcher瀵硅薄錛屼綘鍙互鐢ㄥ涓柟娉曡繘琛屽尮閰嶆搷浣滐紝榪欎簺鏂規(guī)硶鐨勭涓€涓弬鏁伴兘鏄渶瑕佹牴鎹鍒欒〃杈懼紡榪涜鍖歸厤鐨勫瓧絎︿覆錛?
· boolean matches(String input, Pattern pattern)錛氬綋杈撳叆瀛楃涓插拰姝e垯琛ㄨ揪寮忚綺劇‘鍖歸厤鏃朵嬌鐢ㄣ€傛崲鍙ヨ瘽璇達(dá)紝姝e垯琛ㄨ揪寮忓繀欏誨畬鏁村湴鎻忚堪杈撳叆瀛楃涓層€?
· boolean matchesPrefix(String input, Pattern pattern)錛氬綋姝e垯琛ㄨ揪寮忓尮閰嶈緭鍏ュ瓧絎︿覆璧峰閮ㄥ垎鏃朵嬌鐢ㄣ€?
· boolean contains(String input, Pattern pattern)錛氬綋姝e垯琛ㄨ揪寮忚鍖歸厤杈撳叆瀛楃涓茬殑涓€閮ㄥ垎鏃朵嬌鐢紙鍗籌紝瀹冨繀欏繪槸涓€涓瓙涓詫級(jí)銆?
鍙﹀錛屽湪涓婇潰涓変釜鏂規(guī)硶璋冪敤涓紝浣犺繕鍙互鐢≒atternMatcherInput瀵硅薄浣滀負(fù)鍙傛暟鏇夸唬String瀵硅薄錛涜繖鏃訛紝浣犲彲浠ヤ粠瀛楃涓蹭腑鏈€鍚庝竴嬈″尮閰嶇殑浣嶇疆寮€濮嬬戶緇繘琛屽尮閰嶃€傚綋瀛楃涓插彲鑳芥湁澶氫釜瀛愪覆鍖歸厤緇欏畾鐨勬鍒欒〃杈懼紡鏃訛紝鐢≒atternMatcherInput瀵硅薄浣滀負(fù)鍙傛暟灝卞緢鏈夌敤浜?jiǎn)銆傜敤PatternMatcherInput瀵硅薄浣滀負(fù)鍙傛暟鏇夸唬String鏃訛紝涓婅堪涓変釜鏂規(guī)硶鐨勮娉曞涓嬶細(xì)
· boolean matches(PatternMatcherInput input, Pattern pattern)
· boolean matchesPrefix(PatternMatcherInput input, Pattern pattern)
· boolean contains(PatternMatcherInput input, Pattern pattern)
涓夈€佸簲鐢ㄥ疄渚?/font>
涓嬮潰鎴戜滑鏉ョ湅鐪婮akarta-ORO搴撶殑涓€浜涘簲鐢ㄥ疄渚嬨€?
3.1 鏃ュ織鏂囦歡澶勭悊
浠誨姟錛氬垎鏋愪竴涓猈eb鏈嶅姟鍣ㄦ棩蹇楁枃浠訛紝紜畾姣忎竴涓敤鎴瘋姳鍦ㄧ綉绔欎笂鐨勬椂闂淬€傚湪鍏稿瀷鐨凚EA WebLogic鏃ュ織鏂囦歡涓紝鏃ュ織璁板綍鐨勬牸寮忓涓嬶細(xì)
鍒嗘瀽榪欎釜鏃ュ織璁板綍錛屽彲浠ュ彂鐜幫紝瑕佷粠榪欎釜鏃ュ織鏂囦歡鎻愬彇鐨勫唴瀹規(guī)湁涓ら」錛欼P鍦板潃鍜岄〉闈㈣闂椂闂淬€備綘鍙互鐢ㄥ垎緇勭鍙鳳紙鍦嗘嫭鍙鳳級(jí)浠庢棩蹇楄褰曟彁鍙栧嚭IP鍦板潃鍜屾椂闂存爣璁般€?
棣栧厛鎴戜滑鏉ョ湅鐪婭P鍦板潃銆侷P鍦板潃鏈?涓瓧鑺傛瀯鎴愶紝姣忎竴涓瓧鑺傜殑鍊煎湪0鍒?55涔嬮棿錛屽悇涓瓧鑺傞€氳繃涓€涓彞鐐瑰垎闅斻€傚洜姝わ紝IP鍦板潃涓殑姣忎竴涓瓧鑺傛湁鑷沖皯涓€涓€佹渶澶氫笁涓暟瀛椼€傚浘鍏樉紺轟簡(jiǎn)涓篒P鍦板潃緙栧啓鐨勬鍒欒〃杈懼紡錛?

鍥懼叓錛氬尮閰岻P鍦板潃

IP鍦板潃涓殑鍙ョ偣瀛楃蹇呴』榪涜杞箟澶勭悊錛堝墠闈㈠姞涓?#8220;\”錛夛紝鍥犱負(fù)IP鍦板潃涓殑鍙ョ偣鍏鋒湁瀹冩湰鏉ョ殑鍚箟錛岃€屼笉鏄噰鐢ㄦ鍒欒〃杈懼紡璇硶涓殑鐗規(guī)畩鍚箟銆傚彞鐐瑰湪姝e垯琛ㄨ揪寮忎腑鐨勭壒孌婂惈涔夋湰鏂囧墠闈㈠凡緇忎粙緇嶃€?
鏃ュ織璁板綍鐨勬椂闂撮儴鍒嗙敱涓€瀵規(guī)柟鎷彿鍖呭洿銆備綘鍙互鎸夌収濡備笅鎬濊礬鎻愬彇鍑烘柟鎷彿閲岄潰鐨勬墍鏈夊唴瀹癸細(xì)棣栧厛鎼滅儲(chǔ)璧峰鏂規(guī)嫭鍙峰瓧絎︼紙“[”錛夛紝鎻愬彇鍑烘墍鏈変笉瓚呰繃緇撴潫鏂規(guī)嫭鍙峰瓧絎︼紙“]”錛夌殑鍐呭錛屽悜鍓嶅鎵劇洿鑷蟲壘鍒扮粨鏉熸柟鎷彿瀛楃銆傚浘涔?jié)鏄窘C轟簡(jiǎn)榪欓儴鍒嗙殑姝e垯琛ㄨ揪寮忋€?

鍥句節(jié)錛氬尮閰嶈嚦灝戜竴涓瓧絎︼紝鐩磋嚦鎵懼埌“]”

鐜板湪錛屾妸涓婅堪涓や釜姝e垯琛ㄨ揪寮忓姞涓婂垎緇勭鍙鳳紙鍦嗘嫭鍙鳳級(jí)鍚庡悎騫舵垚鍗曚釜琛ㄨ揪寮忥紝榪欐牱灝卞彲浠ヤ粠鏃ュ織璁板綍鎻愬彇鍑篒P鍦板潃鍜屾椂闂淬€傛敞鎰忥紝涓轟簡(jiǎn)鍖歸厤“- -”錛堜絾涓嶆彁鍙栧畠錛夛紝姝e垯琛ㄨ揪寮忎腑闂村姞鍏ヤ簡(jiǎn)“\s-\s-\s”銆傚畬鏁寸殑姝e垯琛ㄨ揪寮忓鍥懼崄鎵€紺恒€?

鍥懼崄錛氬尮閰岻P鍦板潃鍜屾椂闂存爣璁?/p>

鐜板湪姝e垯琛ㄨ揪寮忓凡緇忕紪鍐欏畬姣曪紝鎺ヤ笅鏉ュ彲浠ョ紪鍐欎嬌鐢ㄦ鍒欒〃杈懼紡搴撶殑Java浠g爜浜?jiǎn)銆?
涓轟嬌鐢↗akarta-ORO搴擄紝棣栧厛鍒涘緩姝e垯琛ㄨ揪寮忓瓧絎︿覆鍜屽緟鍒嗘瀽鐨勬棩蹇楄褰曞瓧絎︿覆錛?
榪欓噷浣跨敤鐨勬鍒欒〃杈懼紡涓庡浘鍗佺殑姝e垯琛ㄨ揪寮忓樊涓嶅瀹屽叏鐩稿悓錛屼絾鏈変竴鐐逛緥澶栵細(xì)鍦↗ava涓紝浣犲繀欏誨姣忎竴涓悜鍓嶇殑鏂滄潬錛?#8220;\”錛夎繘琛岃漿涔夊鐞嗐€傚浘鍗佷笉鏄疛ava鐨勮〃紺哄艦寮忥紝鎵€浠ユ垜浠鍦ㄦ瘡涓?#8220;\”鍓嶉潰鍔犱笂涓€涓?#8220;\”浠ュ厤鍑虹幇緙栬瘧閿欒銆傞仐鎲劇殑鏄紝杞箟澶勭悊榪囩▼寰堝鏄撳嚭鐜伴敊璇紝鎵€浠ュ簲璇ュ皬蹇?jī)璋}鎱庛€備綘鍙互棣栧厛杈撳叆鏈粡杞箟澶勭悊鐨勬鍒欒〃杈懼紡錛岀劧鍚庝粠宸﹀埌鍙充緷嬈℃妸姣忎竴涓?#8220;\”鏇挎崲鎴?#8220;\\”銆傚鏋滆澶嶆錛屼綘鍙互璇曠潃鎶婂畠杈撳嚭鍒板睆騫曚笂銆?
鍒濆鍖栧瓧絎︿覆涔嬪悗錛屽疄渚嬪寲PatternCompiler瀵硅薄錛岀敤PatternCompiler緙栬瘧姝e垯琛ㄨ揪寮忓垱寤轟竴涓狿attern瀵硅薄錛?
鐜板湪錛屽垱寤篜atternMatcher瀵硅薄錛岃皟鐢≒atternMatcher鎺ュ彛鐨刢ontain()鏂規(guī)硶媯€(gè)鏌ュ尮閰嶆儏鍐碉細(xì)
鎺ヤ笅鏉ワ紝鍒╃敤PatternMatcher鎺ュ彛榪斿洖鐨凪atchResult瀵硅薄錛岃緭鍑哄尮閰嶇殑緇勩€傜敱浜巐ogEntry瀛楃涓插寘鍚尮閰嶇殑鍐呭錛屼綘鍙互鐪嬪埌綾誨涓嬮潰鐨勮緭鍑猴細(xì)
3.2 HTML澶勭悊瀹炰緥涓€
涓嬮潰涓€涓換鍔℃槸鍒嗘瀽HTML欏甸潰鍐匜ONT鏍囪鐨勬墍鏈夊睘鎬с€侶TML欏甸潰鍐呭吀鍨嬬殑FONT鏍囪濡備笅鎵€紺猴細(xì)
紼嬪簭灝嗘寜鐓у涓嬪艦寮忥紝杈撳嚭姣忎竴涓狥ONT鏍囪鐨勫睘鎬э細(xì)
鍦ㄨ繖縐嶆儏鍐典笅錛屾垜寤鴻浣犱嬌鐢ㄤ袱涓鍒欒〃杈懼紡銆傜涓€涓鍥懼崄涓€鎵€紺猴紝瀹冧粠瀛椾綋鏍囪鎻愬彇鍑?#8220;"face="Arial, Serif" size="+2" color="red"”銆?

鍥懼崄涓€錛氬尮閰岶ONT鏍囪鐨勬墍鏈夊睘鎬?/p>

絎簩涓鍒欒〃杈懼紡濡傚浘鍗佷簩鎵€紺猴紝瀹冩妸鍚勪釜灞炴€у垎鍓叉垚鍚嶅瓧-鍊煎銆?

鍥懼崄浜岋細(xì)鍖歸厤鍗曚釜灞炴€э紝騫舵妸瀹冨垎鍓叉垚鍚嶅瓧-鍊煎

鍒嗗壊緇撴灉涓猴細(xì)
鐜板湪鎴戜滑鏉ョ湅鐪嬪畬鎴愯繖涓換鍔$殑Java浠g爜銆傞鍏堝垱寤轟袱涓鍒欒〃杈懼紡瀛楃涓詫紝鐢≒erl5Compiler鎶婂畠浠紪璇戞垚Pattern瀵硅薄銆傜紪璇戞鍒欒〃杈懼紡鐨勬椂鍊欙紝鎸囧畾Perl5Compiler.CASE_INSENSITIVE_MASK閫夐」錛屼嬌寰楀尮閰嶆搷浣滀笉鍖哄垎澶у皬鍐欍€?
鎺ヤ笅鏉ワ紝鍒涘緩涓€涓墽琛屽尮閰嶆搷浣滅殑Perl5Matcher瀵硅薄銆?
鍋囪鏈変竴涓猄tring綾誨瀷鐨勫彉閲廻tml錛屽畠浠h〃浜?jiǎn)HTML鏂囦歡涓殑涓€琛屽唴瀹廣€傚鏋渉tml瀛楃涓插寘鍚獸ONT鏍囪錛屽尮閰嶅櫒灝嗚繑鍥瀟rue銆傛鏃訛紝浣犲彲浠ョ敤鍖歸厤鍣ㄥ璞¤繑鍥炵殑MatchResult瀵硅薄鑾峰緱絎竴涓粍錛屽畠鍖呭惈浜?jiǎn)FONT鐨勬墍鏈夊睘鎬э細(xì)
鎺ヤ笅鏉ュ垱寤轟竴涓狿atternMatcherInput瀵硅薄銆傝繖涓璞″厑璁鎬綘浠庢渶鍚庝竴嬈″尮閰嶇殑浣嶇疆寮€濮嬬戶緇繘琛屽尮閰嶆搷浣滐紝鍥犳錛屽畠寰堥€傚悎浜庢彁鍙朏ONT鏍囪鍐呭睘鎬х殑鍚嶅瓧-鍊煎銆傚垱寤篜atternMatcherInput瀵硅薄錛屼互鍙傛暟褰㈠紡浼犲叆寰呭尮閰嶇殑瀛楃涓層€傜劧鍚庯紝鐢ㄥ尮閰嶅櫒瀹炰緥鎻愬彇鍑烘瘡涓€涓狥ONT鐨勫睘鎬с€傝繖閫氳繃鎸囧畾PatternMatcherInput瀵硅薄錛堣€屼笉鏄瓧絎︿覆瀵硅薄錛変負(fù)鍙傛暟錛屽弽澶嶅湴璋冪敤PatternMatcher瀵硅薄鐨刢ontains()鏂規(guī)硶瀹屾垚銆侾atternMatcherInput瀵硅薄涔嬩腑鐨勬瘡涓€嬈¤凱浠e皢鎶婂畠鍐呴儴鐨勬寚閽堝悜鍓嶇Щ鍔紝涓嬩竴嬈℃嫻嬪皢浠庡墠涓€嬈″尮閰嶄綅緗殑鍚庨潰寮€濮嬨€?
鏈緥鐨勮緭鍑虹粨鏋滃涓嬶細(xì)
3.3 HTML澶勭悊瀹炰緥浜?/strong>
涓嬮潰鎴戜滑鏉ョ湅鐪嬪彟涓€涓鐞咹TML鐨勪緥瀛愩€傝繖涓€嬈★紝鎴戜滑鍋囧畾Web鏈嶅姟鍣ㄤ粠widgets.acme.com縐誨埌浜?jiǎn)newserver.acme.com銆傜幇鍦ㄤ綘瑕佷慨鏀逛竴浜涢〉闈腑鐨勯摼鎺ワ細(xì)
鎵ц榪欎釜鎼滅儲(chǔ)鐨勬鍒欒〃杈懼紡濡傚浘鍗佷笁鎵€紺猴細(xì)

鍥懼崄涓夛細(xì)鍖歸厤淇敼鍓嶇殑閾炬帴

濡傛灉鑳藉鍖歸厤榪欎釜姝e垯琛ㄨ揪寮忥紝浣犲彲浠ョ敤涓嬮潰鐨勫唴瀹規(guī)浛鎹㈠浘鍗佷笁鐨勯摼鎺ワ細(xì)
娉ㄦ剰#瀛楃鐨勫悗闈㈠姞涓婁簡(jiǎn)$1銆侾erl姝e垯琛ㄨ揪寮忚娉曠敤$1銆?2絳夎〃紺哄凡緇忓尮閰嶄笖鎻愬彇鍑烘潵鐨勭粍銆傚浘鍗佷笁鐨勮〃杈懼紡鎶婃墍鏈変綔涓轟竴涓粍鍖歸厤鍜屾彁鍙栧嚭鏉ョ殑鍐呭闄勫姞鍒伴摼鎺ョ殑鍚庨潰銆?
鐜板湪錛岃繑鍥濲ava銆傚氨璞″墠闈㈡垜浠墍鍋氱殑閭f牱錛屼綘蹇呴』鍒涘緩嫻嬭瘯瀛楃涓詫紝鍒涘緩鎶婃鍒欒〃杈懼紡緙栬瘧鍒癙attern瀵硅薄鎵€蹇呴渶鐨勫璞★紝浠ュ強(qiáng)鍒涘緩涓€涓狿atternMatcher瀵硅薄錛?img src="http://www.ccw.com.cn/htm/app/aprog/01_7_31_4_v.jpg" border="0" alt="" />
鎺ヤ笅鏉ワ紝鐢╟om.oroinc.text.regex鍖匲til綾葷殑substitute()闈?rùn)鎬佹柟娉曡繘琛屾浛鎹紝杈撳嚭緇撴灉瀛楃涓詫細(xì)
Util.substitute()鏂規(guī)硶鐨勮娉曞涓嬶細(xì)
榪欎釜璋冪敤鐨勫墠涓や釜鍙傛暟鏄互鍓嶅垱寤虹殑PatternMatcher鍜孭attern瀵硅薄銆傜涓変釜鍙傛暟鏄竴涓猄ubstiution瀵硅薄錛屽畠鍐沖畾浜?jiǎn)鏇挎崲鎿嶄綔濡備綍杩涜銆傛湰渚嬩嬌鐢ㄧ殑鏄疨erl5Substitution瀵硅薄錛屽畠鑳藉榪涜Perl5椋庢牸鐨勬浛鎹€€傜鍥涗釜鍙傛暟鏄兂瑕佽繘琛屾浛鎹㈡搷浣滅殑瀛楃涓詫紝鏈€鍚庝竴涓弬鏁板厑璁告寚瀹氭槸鍚︽浛鎹㈡ā寮忕殑鎵€鏈夊尮閰嶅瓙涓詫紙Util.SUBSTITUTE_ALL錛夛紝鎴栧彧鏇挎崲鎸囧畾鐨勬鏁般€?
銆愮粨鏉熻銆?/strong>鍦ㄨ繖綃囨枃绔犱腑錛屾垜涓轟綘浠嬬粛浜?jiǎn)姝e垯琛ㄨ緫旨忕殑寮哄ぇ鍔熻兘銆傚彧瑕佹紜繍鐢紝姝e垯琛ㄨ揪寮忚兘澶熷湪瀛楃涓叉彁鍙栧拰鏂囨湰淇敼涓搗鍒板緢澶х殑浣滅敤銆傚彟澶栵紝鎴戣繕浠嬬粛浜?jiǎn)濡備綍鍦↗ava紼嬪簭涓€氳繃Jakarta-ORO搴撳埄鐢ㄦ鍒欒〃杈懼紡銆傝嚦浜庢渶緇堥噰鐢ㄨ€佸紡鐨勫瓧絎︿覆澶勭悊鏂瑰紡錛堜嬌鐢⊿tringTokenizer錛宑harAt錛屽拰substring錛夛紝榪樻槸閲囩敤姝e垯琛ㄨ揪寮忥紝榪欏氨鏈夊緟浣犺嚜宸卞喅瀹氫簡(jiǎn)銆?/td>


semovy 2007-08-31 16:22 鍙戣〃璇勮
]]>
姒傚康鍙?qiáng)鍏朵綔鐢?http://www.aygfsteel.com/WshmAndLily/articles/103739.htmlsemovysemovyWed, 14 Mar 2007 03:31:00 GMThttp://www.aygfsteel.com/WshmAndLily/articles/103739.htmlhttp://www.aygfsteel.com/WshmAndLily/comments/103739.htmlhttp://www.aygfsteel.com/WshmAndLily/articles/103739.html#Feedback0http://www.aygfsteel.com/WshmAndLily/comments/commentRss/103739.htmlhttp://www.aygfsteel.com/WshmAndLily/services/trackbacks/103739.html
  • 聽姒傚康鍙?qiáng)鍏朵綔鐢?/strong>
  • 聽聽聽聽聽聽聽聽聽聽聽姝e垯琛ㄨ揪寮忕殑鑻辨枃鏄痳egular expression,姝e垯琛ㄨ揪寮忥紝灝辨槸鐢ㄦ煇縐嶆ā寮忓幓鍖歸厤涓€綾誨瓧絎︿覆鐨勪竴涓叕寮忋€?br />聽聽聽聽聽聽聽聽聽聽 姝e垯琛ㄨ揪寮忓叿鏈夊涓嬩綔鐢細(xì)
    聽聽聽聽聽聽聽聽聽聽聽聽1錛夋祴璇曞瓧絎︿覆鐨勬煇縐嶆ā寮忋€俥g. 媯€(gè)楠屽湪鏌愪釜瀛楃涓蹭腑鏄惁瀛樺湪涓€涓數(shù)璇濆彿鐮佸拰涓€涓韓浠借瘉鍙風(fēng)爜錛?br />聽聽聽聽聽聽聽聽聽聽聽聽2錛夋浛鎹㈡枃鏈€俥g. 鍦ㄦ枃鏈腑浣跨敤涓€涓鍒欒〃杈懼紡鏉ユ爣璇嗙壒瀹氭枃瀛楋紝灝嗗叾鏇挎崲鎴愬叾浠栨枃瀛楋紱
    聽聽聽聽聽聽聽聽聽聽聽 3錛夋牴鎹寚瀹氱殑妯″紡浠庡瓧絎︿覆涓彁鍙栦竴涓瓙瀛楃涓層€?/p>

    聽聽聽 2.聽聽聽鍏冨瓧絎﹀強(qiáng)鎻忚堪

    鍏冨瓧絎?/i> 鎻忚堪


    .
    鍖歸厤浠諱綍鍗曚釜瀛楃銆備緥濡傛鍒欒〃杈懼紡r.t鍖歸厤榪欎簺瀛楃涓詫細(xì)rat銆?i>rut銆?i>r t錛屼絾鏄笉鍖歸厤root銆偮?/td>
    $
    鍖歸厤琛岀粨鏉熺銆備緥濡傛鍒欒〃杈懼紡weasel$ 鑳藉鍖歸厤瀛楃涓?He's a weasel"鐨勬湯灝撅紝浣嗘槸涓嶈兘鍖歸厤瀛楃涓?They are a bunch of weasels."銆偮?/td>
    ^
    鍖歸厤涓€琛岀殑寮€濮嬨€備緥濡傛鍒欒〃杈懼紡^When in鑳藉鍖歸厤瀛楃涓?When in the course of human events"鐨勫紑濮嬶紝浣嗘槸涓嶈兘鍖歸厤"What and When in the"銆?/i>
    *
    鍖歸厤0鎴栧涓濂藉湪瀹冧箣鍓嶇殑閭d釜瀛楃銆備緥濡?zo*"鍙互鍖歸厤"z"鍜?zoo"絳夈€?/td>
    \
    榪欐槸寮曠敤絎︼紝鐢ㄦ潵灝嗚繖閲屽垪鍑虹殑榪欎簺鍏冨瓧絎﹀綋浣滄櫘閫氱殑瀛楃鏉ヨ繘琛屽尮閰嶃€備緥濡傛鍒欒〃杈懼紡\$琚敤鏉ュ尮閰嶇編鍏冪鍙鳳紝鑰屼笉鏄灝撅紝綾諱技鐨勶紝姝e垯琛ㄨ揪寮?tt>\.鐢ㄦ潵鍖歸厤鐐瑰瓧絎︼紝鑰屼笉鏄換浣曞瓧絎︾殑閫氶厤絎︺€?/td>
    [ ]聽
    [c 1 -c 2 ]
    [^c 1 -c 2 ]
    鍖歸厤鎷彿涓殑浠諱綍涓€涓瓧絎︺€備緥濡傛鍒欒〃杈懼紡r[aou]t鍖歸厤rat銆?i>rot鍜?i>rut錛屼絾鏄笉鍖歸厤ret銆傚彲浠ュ湪鎷彿涓嬌鐢ㄨ繛瀛楃-鏉ユ寚瀹氬瓧絎︾殑鍖洪棿錛屼緥濡傛鍒欒〃杈懼紡[0-9]鍙互鍖歸厤浠諱綍鏁板瓧瀛楃錛涜繕鍙互鍒跺畾澶氫釜鍖洪棿錛屼緥濡傛鍒欒〃杈懼紡[A-Za-z]鍙互鍖歸厤浠諱綍澶у皬鍐欏瓧姣嶃€傚彟涓€涓噸瑕佺殑鐢ㄦ硶鏄€滄帓闄も€濓紝瑕佹兂鍖歸厤闄や簡(jiǎn)鎸囧畾鍖洪棿涔嬪鐨勫瓧絎︹€斺€斾篃灝辨槸鎵€璋撶殑琛ラ泦鈥斺€斿湪宸﹁竟鐨勬嫭鍙峰拰絎竴涓瓧絎︿箣闂翠嬌鐢╚瀛楃錛屼緥濡傛鍒欒〃杈懼紡[^269A-Z] 灝嗗尮閰嶉櫎浜?銆?銆?鍜屾墍鏈夊ぇ鍐欏瓧姣嶄箣澶栫殑浠諱綍瀛楃銆?/td>
    \< \>
    鍖歸厤璇嶏紙word錛夌殑寮€濮嬶紙\<錛夊拰緇撴潫錛圽>錛夈€備緥濡傛鍒欒〃杈懼紡\<the鑳藉鍖歸厤瀛楃涓?for the wise"涓殑"the"錛屼絾鏄笉鑳藉尮閰嶅瓧絎︿覆"otherwise"涓殑"the"銆?font color="#ff0000">娉ㄦ剰錛氳繖涓厓瀛楃涓嶆槸鎵€鏈夌殑杞歡閮芥敮鎸佺殑銆?/font>
    \( \)
    灝?\( 鍜?\) 涔嬮棿鐨勮〃杈懼紡瀹氫箟涓衡€滅粍鈥濓紙group錛夛紝騫朵笖灝嗗尮閰嶈繖涓〃杈懼紡鐨勫瓧絎︿繚瀛樺埌涓€涓復(fù)鏃跺尯鍩燂紙涓€涓鍒欒〃杈懼紡涓渶澶氬彲浠ヤ繚瀛?涓級(jí)錛屽畠浠彲浠ョ敤 \1 鍒?b>\9 鐨勭鍙鋒潵寮曠敤銆?/td>
    |
    灝嗕袱涓尮閰嶆潯浠惰繘琛岄€昏緫鈥滄垨鈥濓紙Or錛夎繍綆椼€備緥濡傛鍒欒〃杈懼紡(him|her) 鍖歸厤"it belongs to him"鍜?it belongs to her"錛屼絾鏄笉鑳藉尮閰?it belongs to them."銆?font color="#ff0000">娉ㄦ剰錛氳繖涓厓瀛楃涓嶆槸鎵€鏈夌殑杞歡閮芥敮鎸佺殑銆?/font>
    +
    鍖歸厤1鎴栧涓濂藉湪瀹冧箣鍓嶇殑閭d釜瀛楃銆備緥濡傛鍒欒〃杈懼紡9+鍖歸厤9銆?9銆?99絳夈€?strong>娉ㄦ剰錛氳繖涓厓瀛楃涓嶆槸鎵€鏈夌殑杞歡閮芥敮鎸佺殑銆?/td>
    ?
    鍖歸厤0鎴?涓濂藉湪瀹冧箣鍓嶇殑閭d釜瀛楃銆備緥濡傦紝abc?鑳藉尮閰峚bc鍜宎b錛?font color="#ff0000">娉ㄦ剰錛氳繖涓厓瀛楃涓嶆槸鎵€鏈夌殑杞歡閮芥敮鎸佺殑銆?/font>
    \{ i \}
    \{ i , j \}
    鍖歸厤鎸囧畾鏁扮洰鐨勫瓧絎︼紝榪欎簺瀛楃鏄湪瀹冧箣鍓嶇殑琛ㄨ揪寮忓畾涔夌殑銆備緥濡傛鍒欒〃杈懼紡A[0-9]\{3\} 鑳藉鍖歸厤瀛楃"A"鍚庨潰璺熺潃姝eソ3涓暟瀛楀瓧絎︾殑涓詫紝渚嬪A123銆丄348絳夛紝浣嗘槸涓嶅尮閰岮1234銆傝€屾鍒欒〃杈懼紡[0-9]\{4,6\} 鍖歸厤榪炵畫鐨勪換鎰?涓€?涓垨鑰?涓暟瀛楀瓧絎︺€?font color="#ff0000">娉ㄦ剰錛氳繖涓厓瀛楃涓嶆槸鎵€鏈夌殑杞歡閮芥敮鎸佺殑銆?/font>

    聽聽聽聽3.聽聽聽RegExp瀵硅薄鐨勫睘鎬у拰鏂規(guī)硶
    聽聽聽聽聽聽聽聽 1錛夌畝榪?br />聽聽聽聽聽聽聽聽聽聽聽聽
    璇ュ璞$敤鏉ュ畬鎴愭湁鍏蟲鍒欒〃杈懼紡鐨勬搷浣滃拰鍔熻兘錛涙瘡涓€鏉℃鍒欒〃杈懼紡妯″紡瀵瑰簲涓€涓猂egExp瀹炰緥錛屽垱寤篟egExp瀵硅薄鐨勬柟寮忓涓嬶細(xì)
    聽聽聽聽聽聽聽聽聽聽聽聽 鏄懼紡鏋勯€犲嚱鏁幫細(xì)new ReExp("pattern"[,"flags"]);
    聽聽聽聽聽聽聽聽聽聽聽聽 闅愬紡鏋勯€犲嚱鏁幫紙姝ゆ柟娉曟瘮杈冨父鐢級(jí)錛岄噰鐢ㄧ函鏂囨湰鏂瑰紡錛?pattern/[flags].
    聽聽聽聽聽聽聽聽聽聽聽聽 鍏朵腑pattern閮ㄥ垎涓鴻浣跨敤鐨勬鍒欒〃杈懼紡妯″紡鏂囨湰錛屾槸蹇呴』鐨勶紝flags閮ㄥ垎璁劇疆姝e垯琛ㄨ揪寮忕殑鏍囧織淇℃伅錛屼負(fù)鍙€夐」銆俧lags鍙互鏄涓嬫爣璁扮殑緇勫悎錛?br />聽聽聽聽聽聽聽聽聽聽聽 g鏄叏灞€鏍囧織銆傝嫢璁劇疆浜?jiǎn)杩欎釜鏍囧織锛屽?guī)煇涓枃鏈墽琛屾悳绱㈠拰鏇挎崲鎿嶄綔鏃訛紝灝嗗鏂囨湰鎵€鏈夊尮閰嶇殑閮ㄥ垎璧蜂綔鐢紝鍚﹀垯錛屽垯浠呮悳绱㈠拰鏇挎崲鏈€鏃╁尮閰嶇殑鍐呭;

    聽聽聽聽聽聽聽聽聽聽聽 i鏄拷鐣ュぇ灝忓啓鏍囧織;
    聽聽聽聽聽聽聽聽聽聽聽 m鏄琛屾爣蹇?
    聽聽聽聽聽聽聽聽聽聽聽 eg.

    < script聽language = " javascript " >
    <!--
    var 聽str聽 = " I聽am聽amigo " ;
    var 聽regex聽 = new 聽RegExp( " amigo " );
    document.write(
    " regex:聽 " + 聽regex聽 + " <br> " );
    if (regex.test(str))聽 {
    聽聽聽聽document.write(
    " 鎵懼埌鎸囧畾瀛楃涓瞐migo<br> " );
    }
    else {
    聽聽聽聽document.write(
    " 鏈壘鍒版寚瀹氬瓧絎︿覆amigo<br> " );
    }


    var 聽regex1聽 = / amigo / ;
    if (regex1.test(str))聽 {
    聽聽聽聽document.write(
    " 鎵懼埌鎸囧畾瀛楃涓瞐migo " );
    }
    else {
    聽聽聽聽document.write(
    " 鏈壘鍒版寚瀹氬瓧絎︿覆amigo " );
    }

    // -->
    </ script >

    聽聽聽聽聽聽聽聽聽杈撳嚭緇撴灉濡備笅:
    聽聽聽聽聽聽聽聽聽聽聽regex: /amigo/
    聽聽聽聽聽聽聽聽聽聽 鎵懼埌鎸囧畾瀛楃涓瞐migo
    聽聽聽聽聽聽聽聽聽聽 鎵懼埌鎸囧畾瀛楃涓瞐migo
    聽聽聽聽聽聽聽 娉ㄦ剰:聽鐢變簬JavaScript瀛楃涓蹭腑"\"鏄竴涓漿涔夊瓧絎?鍥犳鏄懼紡鏋勯€犲嚱鏁板垱寤篟egExp瀹炰緥瀵硅薄鏃?搴斿皢鍘熸槸鏀垮垯琛ㄨ揪寮忕殑"\"鐢?\\"鏇挎崲.
    聽聽聽聽聽聽聽 eg.

    < script聽language = " javascript " >
    <!--
    聽聽聽聽
    var 聽regex1聽 = new 聽RegExp( " \\d{3} " );
    聽聽聽聽
    var 聽regex2聽 = / \d { 3 } / ;
    聽聽聽聽document.write(
    " regex1:聽 " + 聽regex1聽 + " <br> " );
    聽聽聽聽document.write(
    " regex2:聽 " + 聽regex2);
    // -->
    </ script >

    聽聽聽聽聽聽聽杈撳嚭緇撴灉濡備笅:
    聽聽聽聽聽聽聽 regex1: /\d{3}/
    聽聽聽聽聽聽聽 regex2: /\d{3}/
    聽聽聽聽聽聽聽 鐢變簬姝e垯琛ㄨ揪寮忔ā寮忔枃鏈腑鐨勮漿涔夊瓧絎︿篃鏄?\",濡傛灉姝e垯琛ㄨ揪寮忎腑瑕佸尮閰嶅師涔夊瓧絎?\",鍦ㄦ鍒欒〃杈懼紡妯″紡鏂囨湰涓浠?\\"琛ㄧず,褰撴樉寮忕殑鏂瑰紡鏉ヨ〃紺烘椂,瑕佺敤"\\\\"鏉ヨ〃紺哄師涔夊瓧絎?\".
    聽聽聽聽聽 2).聽聽聽聽灞炴€?/strong>
    聽聽聽聽聽聽聽聽聽 1)聽index:聽 褰撳墠琛ㄨ揪寮忔ā寮忛嬈″尮閰嶅唴瀹圭殑寮€濮嬩綅緗?浠?寮€濮嬭鏁?聽鍒濆鍊間負(fù)-1;
    聽聽聽聽聽聽聽聽聽聽2)聽input:聽聽 榪斿洖褰撳墠鎵€浣滅敤鐨勫瓧絎︿覆;
    聽聽聽聽聽聽聽聽聽 3)lastIndex:聽聽 鏄綋鍓嶈〃杈懼紡妯″紡棣栨鍖歸厤鍐呭涓渶鍚庝竴涓瓧絎︾殑涓嬩竴涓綅緗?
    聽聽聽聽聽聽聽聽聽聽4)lastMatch:聽聽 鏄綋鍓嶈〃杈懼紡妯″紡鐨勬渶鍚庝竴涓尮閰嶅瓧絎︿覆;
    聽聽聽聽聽聽聽聽聽 5)lastParen:聽聽 鏄綋鍓嶈〃杈懼紡妯″紡涓渶鍚庣殑瀛愬尮閰嶆墍鍖歸厤鐨勫瓙瀛楃涓?
    聽聽聽聽聽聽聽聽聽聽6)leftContext:聽聽聽褰撳墠琛ㄨ揪寮忔ā寮忔渶鍚庝竴涓尮閰嶅瓧絎︿覆宸﹁竟鐨勬墍鏈夊唴瀹?
    聽聽聽聽聽聽聽聽聽 7)rightContext:聽聽褰撳墠琛ㄨ揪寮忔ā寮忔渶鍚庝竴涓尮閰嶅瓧絎︿覆鍙寵竟鐨勬墍鏈夊唴瀹?聽聽
    聽聽聽聽聽聽聽聽聽聽涓婇潰鎵€璇寸殑灞炴€т負(fù)鍏墮潤(rùn)鎬佸睘鎬?涓嬮潰鏄叾瀹炰緥灞炴€?
    聽聽聽聽聽聽聽聽聽聽1) global:聽聽聽榪斿洖鏍囧織g鐨勭姸鎬?
    聽聽聽聽聽聽聽聽聽 2) ignoreCase:聽聽聽榪斿洖鏍囧織i鐨勭姸鎬?
    聽聽聽聽聽聽聽聽聽聽3) multiLine:聽 榪斿洖鏍囧織m鐨勭姸鎬?
    聽聽聽聽聽聽聽聽聽聽4) source:聽 榪斿洖鍒涘緩RegExp瀵硅薄瀹炰緥鏃舵寚瀹氱殑琛ㄨ揪寮忔枃鏈瓧絎︿覆.
    聽聽聽聽聽 3)聽 鏂規(guī)硶
    聽聽聽聽聽聽聽聽聽聽聽 test鏂規(guī)硶

    聽聽聽聽聽聽聽聽聽聽聽 exe鏂規(guī)硶: 璇硶鏍煎紡涓篹xex(str).璇ユ柟娉曚嬌鐢ㄥ垱寤篟egExp瀵硅薄瀹炰緥鏃舵墍鎸囧畾鐨勮〃杈懼紡妯″紡瀵逛竴涓瓧絎︿覆榪涜鎼滅儲(chǔ).
    聽聽聽聽聽聽聽聽聽聽聽聽compile鏂規(guī)硶: 璇硶鏍煎紡涓篶ompile("pattern"[,"flags"]),璇ユ柟娉曞彲浠ユ洿鎹egExp瀵硅薄瀹炰緥鎵€浣跨敤鐨勮〃杈懼紡妯″紡,騫跺皢鏂扮殑琛ㄨ揪寮忕紪璇戜負(fù)鍐呴儴鏍煎紡,浠庤€屼嬌浠ュ悗鐨勫尮閰嶈繃紼嬫墽琛屾洿蹇?
    聽聽聽聽聽聽聽聽聽聽聽 緇煎悎涓句緥:

    < script聽language = " javascript " >
    <!--
    聽聽聽聽
    var 聽str聽 = " 20070310amigo1121happy " ;
    聽聽聽聽
    var 聽regex聽 = / (\d { 8 } )amigo(\d { 4 } ) / gi;
    聽聽聽聽
    var 聽attr,聽count聽 = 0 ;
    聽聽聽聽
    while (attr聽 = 聽regex.exec(str))聽 {
    聽聽聽聽聽聽聽聽info();
    聽聽聽聽}


    聽聽聽聽
    function 聽info()聽 {
    聽聽聽聽聽聽聽聽document.write(
    " source:聽 " + 聽regex.source聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " RegExp.index:聽 " + 聽RegExp.index聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " RegExp.lastIndex:聽 " + 聽RegExp.lastIndex聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " RegExp.lastParen:聽 " + 聽RegExp.lastParen聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " RegExp.leftContext聽: " + 聽RegExp.leftContext聽 + " <br> " );聽聽聽聽
    聽聽聽聽聽聽聽聽document.write(
    " RegExp.rightContext聽; " + 聽RegExp.rightContext聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " attr.index:聽 " + 聽attr.index聽 + " <br> " );
    聽聽聽聽聽聽聽聽document.write(
    " attr.lastIndex:聽 " + 聽attr.lastIndex聽 + " <br> " );
    聽聽聽聽}

    // -->
    </ script >
    聽聽聽聽聽聽聽聽 杈撳嚭緇撴灉濡備笅:
    聽聽聽聽聽聽聽聽聽 source: (\d{8})amigo(\d{4})
    聽聽聽聽聽聽聽聽聽RegExp.index: 0
    聽聽聽聽聽聽聽聽聽RegExp.lastIndex: 17
    聽聽聽聽聽聽聽聽聽RegExp.lastParen: 1121
    聽聽聽聽聽聽聽聽聽RegExp.leftContext:
    聽聽聽聽聽聽聽聽聽RegExp.rightContext;聽聽happy
    聽聽聽聽聽聽聽聽聽attr.index: 0
    聽聽聽聽聽聽聽聽聽attr.lastIndex: 17
    聽聽聽 4.聽聽聽甯哥敤楠岃瘉鏀墮泦
    聽聽聽聽聽聽聽聽聽1)
    鍖歸厤涓枃瀛楃鐨勬鍒欒〃杈懼紡錛?[\u4e00-\u9fa5]

    聽聽聽聽聽聽聽聽聽2) 鍖歸厤鍙屽瓧鑺傚瓧絎?鍖呮嫭姹夊瓧鍦ㄥ唴)錛歔^\x00-\xff]

    聽聽聽聽聽聽聽聽聽3) 鍖歸厤絀虹櫧琛岀殑姝e垯琛ㄨ揪寮忥細(xì)\n\s*\r

    聽聽聽聽聽聽聽聽聽4) 鍖歸厤HTML鏍囪鐨勬鍒欒〃杈懼紡錛?lt;(\S*?)[^>]*>.*?</\1>|<.*? />
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氫笂闈㈣繖涓篃浠呬粎鑳藉尮閰嶉儴鍒嗭紝瀵逛簬澶嶆潅鐨勫祵濂楁爣璁頒緷鏃ф棤鑳戒負(fù)鍔?/p>

    聽聽聽聽聽聽聽聽聽5) 鍖歸厤棣栧熬絀虹櫧瀛楃鐨勬鍒欒〃杈懼紡錛歗\s*|\s*$
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氬彲浠ョ敤鏉ュ垹闄よ棣栬灝劇殑絀虹櫧瀛楃(鍖呮嫭絀烘牸銆佸埗琛ㄧ銆佹崲欏電絳夌瓑)錛岄潪甯告湁鐢ㄧ殑琛ㄨ揪寮?/p>

    聽聽聽聽聽聽聽聽聽6) 鍖歸厤Email鍦板潃鐨勬鍒欒〃杈懼紡錛歕w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*

    聽聽聽聽聽聽聽聽聽7) 鍖歸厤緗戝潃URL鐨勬鍒欒〃杈懼紡錛歔a-zA-z]+://[^\s]*
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氫笂闈㈣繖涓熀鏈彲浠ユ弧瓚抽渶姹?/p>

    聽聽聽聽聽聽聽聽聽8) 鍖歸厤甯愬彿鏄惁鍚堟硶(瀛楁瘝寮€澶達(dá)紝鍏佽5-16瀛楄妭錛屽厑璁稿瓧姣嶆暟瀛椾笅鍒掔嚎)錛歗[a-zA-Z][a-zA-Z0-9_]{4,15}$

    聽聽聽聽聽聽聽聽聽9) 鍖歸厤鍥藉唴鐢?shù)璇濆忥L(fēng)爜錛歕d{3}-\d{8}|\d{4}-\d{7}
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氬尮閰嶅艦寮忓 0511-4405222 鎴?021-87888822

    聽聽聽聽聽聽聽聽聽10) 鍖歸厤鑵捐QQ鍙鳳細(xì)[1-9][0-9]{4,}
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氳吘璁疩Q鍙蜂粠10000寮€濮?/p>

    聽聽聽聽聽聽聽聽聽11) 鍖歸厤涓浗閭斂緙栫爜錛歔1-9]\d{5}(?!\d)聽聽聽聽聽聽 (娉? 涓浗閭斂緙栫爜涓?浣嶆暟瀛?

    聽聽聽聽聽聽聽聽聽12) 鍖歸厤韜喚璇侊細(xì)\d{15}|\d{18}聽 (娉? 涓浗鐨勮韓浠借瘉涓?5浣嶆垨18浣?

    聽聽聽聽聽聽聽聽聽13) 鍖歸厤ip鍦板潃錛歕d+\.\d+\.\d+\.\d+

    聽聽聽聽聽聽聽聽聽14) 鍖歸厤鐗瑰畾鏁板瓧錛?br />聽聽聽聽聽聽聽聽聽聽聽聽^[1-9]\d*$銆€ 銆€ //鍖歸厤姝f暣鏁?br />聽聽聽聽聽聽聽聽聽聽聽聽^-[1-9]\d*$ 銆€ //鍖歸厤璐熸暣鏁?br />聽聽聽聽聽聽聽聽聽聽聽聽^-?[1-9]\d*$銆€銆€ //鍖歸厤鏁存暟
    聽聽聽聽聽聽聽聽聽聽聽聽^[1-9]\d*|0$銆€ //鍖歸厤闈炶礋鏁存暟錛堟鏁存暟 + 0錛?br />聽聽聽聽聽聽聽聽聽聽聽聽^-[1-9]\d*|0$銆€銆€ //鍖歸厤闈炴鏁存暟錛堣礋鏁存暟 + 0錛?br />聽聽聽聽聽聽聽聽聽聽聽聽^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$銆€銆€ //鍖歸厤姝f誕鐐規(guī)暟
    聽聽聽聽聽聽聽聽聽聽聽聽^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$銆€ //鍖歸厤璐熸誕鐐規(guī)暟
    聽聽聽聽聽聽聽聽聽聽聽聽^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$銆€ //鍖歸厤嫻偣鏁?br />聽聽聽聽聽聽聽聽聽聽聽聽^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$銆€銆€ //鍖歸厤闈炶礋嫻偣鏁幫紙姝f誕鐐規(guī)暟 + 0錛?br />聽聽聽聽聽聽聽聽聽聽聽聽^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$銆€銆€//鍖歸厤闈炴嫻偣鏁幫紙璐熸誕鐐規(guī)暟 + 0錛?br />聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氬鐞嗗ぇ閲忔暟鎹椂鏈夌敤錛屽叿浣撳簲鐢ㄦ椂娉ㄦ剰淇

    聽聽聽聽聽聽聽聽聽15) 鍖歸厤鐗瑰畾瀛楃涓詫細(xì)
    聽聽聽聽聽聽聽聽聽聽聽聽^[A-Za-z]+$銆€銆€//鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?br />聽聽聽聽聽聽聽聽聽聽聽聽^[A-Z]+$銆€銆€//鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇殑澶у啓緇勬垚鐨勫瓧絎︿覆
    聽聽聽聽聽聽聽聽聽聽聽聽^聽[a-z]+$銆€銆€//鍖歸厤鐢?6涓嫳鏂囧瓧姣嶇殑灝忓啓緇勬垚鐨勫瓧絎︿覆
    聽聽聽聽聽聽聽聽聽聽聽聽^[A-Za-z0-9]+$銆€銆€//鍖歸厤鐢辨暟瀛楀拰26涓嫳鏂囧瓧姣嶇粍鎴愮殑瀛楃涓?br />聽聽聽聽聽聽聽聽聽聽聽聽^\w+$銆€銆€//鍖歸厤鐢辨暟瀛椼€?6涓嫳鏂囧瓧姣嶆垨鑰呬笅鍒掔嚎緇勬垚鐨勫瓧絎︿覆
    聽聽聽聽聽聽聽聽聽聽聽聽璇勬敞錛氭渶鍩烘湰涔熸槸鏈€甯哥敤鐨勪竴浜涜〃杈懼紡



    semovy 2007-03-14 11:31 鍙戣〃璇勮
    ]]>
    主站蜘蛛池模板: 方城县| 吉首市| 佛学| 那曲县| 陇西县| 湘潭县| 临安市| 巴楚县| 永定县| 西宁市| 永泰县| 大城县| 开化县| 依安县| 丰城市| 枣阳市| 武鸣县| 新疆| 莱芜市| 金阳县| 大冶市| 汉源县| 凤凰县| 安多县| 开化县| 镇宁| 红河县| 庆元县| 河西区| 景洪市| 准格尔旗| 轮台县| 蒲江县| 乌拉特前旗| 文成县| 江门市| 高平市| 资溪县| 宜昌市| 南溪县| 那曲县|