KaLuoTe  
          公告


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

          導(dǎo)航

          常用鏈接

          留言簿(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 ???? // 不規(guī)則字符檢查&自動(dòng)修正
          ?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)  編輯  收藏

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


          網(wǎng)站導(dǎo)航:
           
           
          Copyright © KaLuoTe Powered by: 博客園 模板提供:滬江博客
          主站蜘蛛池模板: 富源县| 巴彦淖尔市| 定陶县| 万宁市| 微山县| 泰顺县| 塔河县| 长岛县| 德保县| 汝阳县| 昭平县| 寿光市| 松江区| 平山县| 潞西市| 大方县| 湛江市| 宁远县| 泗洪县| 康保县| 临西县| 巫山县| 吴江市| 浪卡子县| 广水市| 柳河县| 体育| 卢氏县| 洛隆县| 临猗县| 兴安县| 新巴尔虎右旗| 青岛市| 民勤县| 阜城县| 兴宁市| 石阡县| 加查县| 潮安县| 新丰县| 鄄城县|