KaLuoTe  
          公告


          日歷
          <2006年3月>
          2627281234
          567891011
          12131415161718
          19202122232425
          2627282930311
          2345678
          統計
          • 隨筆 - 4
          • 文章 - 0
          • 評論 - 0
          • 引用 - 0

          導航

          常用鏈接

          留言簿(1)

          隨筆分類(1)

          隨筆檔案(4)

          搜索

          •  

          最新隨筆

          最新評論

          閱讀排行榜

          評論排行榜

           

          public abstract MappedByteBuffer map( FileChannel.MapMode ?mode,long?position,long?size)throws IOException

          ?1 /** Print?line?comment?in?java?files
          ?2 ?*?20/03/2006?01:16
          ?3 ?*? @author ?Pp
          ?4 ? */

          ?5
          ?6 import ?java.util.regex.Pattern;
          ?7 import ?java.util.regex.Matcher;
          ?8 import ?java.nio.channels.FileChannel;
          ?9 import ?java.nio.charset.Charset;
          10 import ?java.nio.charset.CharsetDecoder;
          11 import ?java.io.File;
          12 import ?java.io.FileInputStream;
          13 import ?java.nio.ByteBuffer;
          14 import ?java.nio.CharBuffer;
          15
          16 public ? class ?CharBufferExample? {
          17 ???? /**
          18 ?????*? @param ?args
          19 ????? */

          20 ???? public ? static ? void ?main(String[]?args)?? throws ?Exception {
          21 ???????? // pattern?matchs?the?comments
          22 ????????Pattern?pa? = ?Pattern.compile( " //.*$ " ,?Pattern.MULTILINE);
          23 ???????? // Channel?for?the?java?file
          24 ????????FileChannel?fc? = ? new ?FileInputStream( new ?File( " CharBufferExample.java " )).getChannel();
          25 ???????? // CharBuffer?from?source?file
          26 ????????
          27 ???????? // Maps?a?region?of?this?channel's?file?directly?into?memory
          28 ????????ByteBuffer?bb? = ?fc.map(FileChannel.MapMode.READ_ONLY,? 0 ,?( int )fc.size());
          29 ????????Charset?cs? = ?Charset.forName( " 8859_1 " );
          30 ????????CharsetDecoder?cd? = ?cs.newDecoder();
          31 ????????CharBuffer?cb? = ?cd.decode(bb);
          32 ????????
          33 ???????? // Some?Matches
          34 ????????Matcher?mc? = ?pa.matcher(cb);
          35 ???????? while (mc.find())? {
          36 ????????????System.out.println( " Find?Comments:? " ? + ?mc.group());
          37 ????????}

          38 ????}

          39 }

          40
          41
          42 /** Console:
          43 ?*??Find?Comments:?//pattern?matchs?the?comments
          44 ?*??Find?Comments:?//.*$",?Pattern.MULTILINE);
          45 ?*??Find?Comments:?//Channel?for?the?java?file
          46 ?*??Find?Comments:?//CharBuffer?from?source?file
          47 ?*??Find?Comments:?//Maps?a?region?of?this?channel's?file?directly?into?memory
          48 ?*??Find?Comments:?//Some?Matches
          49 ? */

          50




          public
          Matcher appendReplacement( StringBuffer ?sb, String ?replacement)

          ?1 import ?java.util.regex. * ;
          ?2
          ?3 public ? class ?First? {
          ?4 ???? /**
          ?5 ?????*? @param ?args
          ?6 ????? */

          ?7 ???? // 不規則字符檢查&自動修正
          ?8 ???? public ? static ? void ?main(String[]?args)? {
          ?9 ???????? // ?TODO?Auto-generated?method?stub
          10 ????????Pattern?pa? = ?Pattern.compile( " [^A-Za-z0-9\\.\\@_\\-~#]+ " );
          11 ????????System.out.println(pa.toString());
          12 ????????Matcher?mc? = ?pa.matcher( " example~?_217??@?h?otmail.com " );
          13 ????????StringBuffer?sb? = ? new ?StringBuffer( " MM " );
          14 ???????? boolean ?result? = ?mc.find();
          15 ???????? while (result)? {
          16 ????????????mc.appendReplacement(sb,? "" );
          17 ????????????System.out.println(sb);
          18 ????????????result? = ?mc.find();
          19 ????????}

          20 ????????mc.appendTail(sb);
          21 ????????System.out.println(sb.toString());
          22 ????}

          23 }

          24



          Summary of regular-expression constructs

          Construct Matches
          ?
          Characters
          x The character x
          \\ The backslash character
          \0 n The character with octal value 0n (0?<=?n?<=?7)
          \0 nn The character with octal value 0nn (0?<=?n?<=?7)
          \0 mnn The character with octal value 0mnn (0?<=?m?<=?3, 0?<=?n?<=?7)
          \x hh The character with hexadecimal?value?0xhh
          \u hhhh The character with hexadecimal?value?0xhhhh
          \t The tab character ('\u0009')
          \n The newline (line feed) character ('\u000A')
          \r The carriage-return character ('\u000D')
          \f The form-feed character ('\u000C')
          \a The alert (bell) character ('\u0007')
          \e The escape character ('\u001B')
          \c x The control character corresponding to x
          ?
          Character classes
          [abc] a, b, or c (simple class)
          [^abc] Any character except a, b, or c (negation)
          [a-zA-Z] a through z or A through Z, inclusive (range)
          [a-d[m-p]] a through d, or m through p: [a-dm-p] (union)
          [a-z&&[def]] d, e, or f (intersection)
          [a-z&&[^bc]] a through z, except for b and c: [ad-z] (subtraction)
          [a-z&&[^m-p]] a through z, and not m through p: [a-lq-z](subtraction)
          ?
          Predefined character classes
          . Any character (may or may not match line terminators)
          \d A digit: [0-9]
          \D A non-digit: [^0-9]
          \s A whitespace character: [ \t\n\x0B\f\r]
          \S A non-whitespace character: [^\s]
          \w A word character: [a-zA-Z_0-9]
          \W A non-word character: [^\w]
          ?
          POSIX character classes (US-ASCII only)
          \p{Lower} A lower-case alphabetic character: [a-z]
          \p{Upper} An upper-case alphabetic character:[A-Z]
          \p{ASCII} All ASCII:[\x00-\x7F]
          \p{Alpha} An alphabetic character:[\p{Lower}\p{Upper}]
          \p{Digit} A decimal digit: [0-9]
          \p{Alnum} An alphanumeric character:[\p{Alpha}\p{Digit}]
          \p{Punct} Punctuation: One of !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
          \p{Graph} A visible character: [\p{Alnum}\p{Punct}]
          \p{Print} A printable character: [\p{Graph}\x20]
          \p{Blank} A space or a tab: [ \t]
          \p{Cntrl} A control character: [\x00-\x1F\x7F]
          \p{XDigit} A hexadecimal digit: [0-9a-fA-F]
          \p{Space} A whitespace character: [ \t\n\x0B\f\r]
          ?
          java.lang.Character classes (simple java character type)
          \p{javaLowerCase} Equivalent to java.lang.Character.isLowerCase()
          \p{javaUpperCase} Equivalent to java.lang.Character.isUpperCase()
          \p{javaWhitespace} Equivalent to java.lang.Character.isWhitespace()
          \p{javaMirrored} Equivalent to java.lang.Character.isMirrored()
          ?
          Classes for Unicode blocks and categories
          \p{InGreek} A character in the Greek?block (simple block)
          \p{Lu} An uppercase letter (simple category)
          \p{Sc} A currency symbol
          \P{InGreek} Any character except one in the Greek block (negation)
          [\p{L}&&[^\p{Lu}]]? Any letter except an uppercase letter (subtraction)
          ?
          Boundary matchers
          ^ The beginning of a line
          $ The end of a line
          \b A word boundary
          \B A non-word boundary
          \A The beginning of the input
          \G The end of the previous match
          \Z The end of the input but for the final terminator, if?any
          \z The end of the input
          ?
          Greedy quantifiers
          X ? X, once or not at all
          X * X, zero or more times
          X + X, one or more times
          X { n } X, exactly n times
          X { n ,} X, at least n times
          X { n , m } X, at least n but not more than m times
          ?
          Reluctant quantifiers
          X ?? X, once or not at all
          X *? X, zero or more times
          X +? X, one or more times
          X { n }? X, exactly n times
          X { n ,}? X, at least n times
          X { n , m }? X, at least n but not more than m times
          ?
          Possessive quantifiers
          X ?+ X, once or not at all
          X *+ X, zero or more times
          X ++ X, one or more times
          X { n }+ X, exactly n times
          X { n ,}+ X, at least n times
          X { n , m }+ X, at least n but not more than m times
          ?
          Logical operators
          XY X followed by Y
          X | Y Either X or Y
          ( X ) X, as a capturing group
          ?
          Back references
          \ n Whatever the nthcapturing group matched
          ?
          Quotation
          \ Nothing, but quotes the following character
          \Q Nothing, but quotes all characters until \E
          \E Nothing, but ends quoting started by \Q
          ?
          Special constructs (non-capturing)
          (?: X ) X, as a non-capturing group
          (?idmsux-idmsux)? Nothing, but turns match flags on - off
          (?idmsux-idmsux: X )?? X, as a non-capturing group with the given flags on - off
          (?= X ) X, via zero-width positive lookahead
          (?! X ) X, via zero-width negative lookahead
          (?<= X ) X, via zero-width positive lookbehind
          (?<! X ) X, via zero-width negative lookbehind
          (?> X ) X, as an independent, non-capturing group


          $
          posted on 2006-03-20 01:34 KaLuoTe 閱讀(502) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
           
          Copyright © KaLuoTe Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 永春县| 池州市| 道孚县| 和田市| 沅陵县| 元氏县| 万宁市| 阿瓦提县| 龙口市| 揭阳市| 永胜县| 双江| 视频| 乌兰察布市| 盘山县| 台山市| 深圳市| 桐庐县| 邵阳市| 孟津县| 山阴县| 陕西省| 新蔡县| 宝山区| 轮台县| 阳新县| 商都县| 通许县| 乳源| 内丘县| 临朐县| 砚山县| 沧州市| 上杭县| 汶川县| 绥江县| 温宿县| 乌兰县| 长阳| 陇南市| 贡觉县|