<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 28,  comments - 15,  trackbacks - 0

    概要

    什么是正則表達式,正則表達式用來干什么,可能會困擾一些初學者。我們都用過一些文本編輯器,例如 Word Word 為我們提供“查找—替換”功能,正則表達式就類似于 Word 的這種功能。 正則表達式 Regular Expression )就是一個字符構成的串,它定義了一個用來搜索匹配字符串的模式。

    Java.util. Pattern

    JDK 對正則表達式的支持,來源于 java.util.Pattern 類。在 java api 中定義 Pattern 為“ A

    compiled representation of a regular expression ”,譯為“正則表達式編譯后的表現”。

    Java.util.Matcher

    java api 中定義 Matcher 為“ An engine that performs match operations on a character sequence by interpreting a Pattern ”,
    可以譯為“依據解釋
    Pattern 而生成的字符序列來執行匹配操作的引擎”。 API 中,給出了典型的調用過程:

    ??????Pattern p = Pattern.compile("a*b");?? // 正則表達式

    ??????Matcher m = p.matcher("aaaaab");????? // 代匹配的字符串

    ??????boolean b = m.matches();

    正則表達式摘要

    字符集 (characters)

    字符

    含義

    x

    X 字符

    \\

    反斜線符號 (\)

    \0 n

    八進制數值 ( 其中 0<=n<=7)

    \0 nn

    八進制數值 ( 其中 0<=n<=7)

    \0 mnn

    八進制數值 ( 其中 0<=m<=3 0<=n<=7)

    \x hh

    十六進制數值

    \t

    Tab 字符 (‘ \u0009' ’)

    \e

    Esc 字符 (‘ \u001B' ’)

    \n

    換行符 (‘ \u000A' ’)

    \d

    [0-9]

    \D

    [^0-9]

    \w

    [A-Z0-9]

    ?

    ?

    ?

    ?

    字符類集

    字符

    含義

    [abc]

    a , b , or c (simple class)

    [^abc]

    Any character except a , b , or c ( )

    [a-zA-Z]

    a through z or A through Z , inclusive ( 區間 )

    [a-d[m-p]]

    [a-d[m-p]]

    a through d, or m through p: [a-dm-p] ( 聯合)

    [a-z&&[def]]

    d , e , or f ( 交集 )

    [a-z&&[^bc]]

    a through z , except for b and c : [ad-z] ( 子集 )

    [a-z&&[^m-p]]

    a through z , and not m through p : [a-lq-z] ( 子集 )


    其他的正則表達式請參考API。

    示例

    ??????private static final String procedureREx = "(REP_(\\d{1})_(\\d{1,2})(_(\\d{1}))?)";? //正則表達式
    ?????
    ???private static ProcedureInfo getProcedureInfo(String procedure) {
    ??????? ProcedureInfo info = new ProcedureInfo();

    ??????? String procedureName = null;
    ??????? String category = null;
    ??????? String reportNo = null;
    ??????? String rowType = null;

    ??????? Pattern procPattern = Pattern.compile(procedureREx);??????//編譯正則表達式

    ??????? Matcher matcher = procPattern.matcher(procedure);?????????//匹配字符串到正則表達式

    ??????? if (matcher.find()) {????????????????????????????????????//字符串是否匹配正則表達式
    ??????????? procedureName = matcher.group(1);
    ??????????? category = matcher.group(2);?????????????????????
    ??????????? reportNo = matcher.group(3);
    ??????????? rowType = matcher.group(5);

    ??????????? info.setName(procedureName);
    ??????????? info.setCategory(Integer.parseInt(category));
    ??????????? info.setReportNo(Integer.parseInt(reportNo));

    ??????????? if (rowType != null) {
    ??????????????? info.setRowType(Integer.parseInt(rowType));
    ??????????? }

    ??????????? info.setArgs(getArgs(procedure));
    ??????????? return info;
    ??????? } else {
    ??????????? System.out.println("can't recognize procedure:" + procedure);
    ??????????? return null;
    ??????? }
    ??? }

    參考:
    http://buy.ccw.cn/htm/app/aprog/01_7_31_4.asp
    http://java.sun.com/j2se/1.4.2/docs/api/java/util/regex/package-summary.html
    http://www.javaresearch.org/article/showarticle.jsp?column=331&thread=2488

    posted on 2006-04-25 17:43 zhangxl 閱讀(763) 評論(1)  編輯  收藏 所屬分類: JAVA 基礎文章


    FeedBack:
    #  JAVA 正則表達式
    2007-01-22 14:39 | fafdsa
    JAVA 正則表達式 JAVA 正則表達式 JAVA 正則表達式 JAVA 正則表達式  回復  更多評論
      

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


    網站導航:
     
    <2025年5月>
    27282930123
    45678910
    11121314151617
    18192021222324
    25262728293031
    1234567

    常用鏈接

    留言簿(1)

    隨筆分類(17)

    隨筆檔案(28)

    文章分類(30)

    文章檔案(30)

    相冊

    收藏夾(2)

    hibernate

    java基礎

    mysql

    xml

    關注

    壓力測試

    算法

    最新隨筆

    搜索

    •  

    積分與排名

    • 積分 - 96299
    • 排名 - 601

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产亚洲一区二区在线观看| 亚洲中文无码永久免| 九九免费久久这里有精品23| 大学生一级特黄的免费大片视频 | 一个人看的www视频免费在线观看 一个人看的免费观看日本视频www | 国产亚洲午夜精品| 亚洲视频在线免费| 精品久久8x国产免费观看| 亚洲国产成人久久一区二区三区| 久久亚洲中文字幕精品一区 | 久久精品国产精品亚洲艾草网美妙| 免费91最新地址永久入口| 精品国产日韩久久亚洲| 亚洲自偷自偷偷色无码中文| 无人在线观看免费高清视频 | 免费人成在线观看播放a| 毛片免费全部播放无码| 国产精品亚洲专区在线播放| 亚洲综合视频在线| 亚洲一本大道无码av天堂| 亚洲国产精品免费观看| 国产无限免费观看黄网站| 亚洲人成在线播放网站| 国产成人精品免费久久久久| 无码色偷偷亚洲国内自拍| 中文字幕亚洲综合久久2| 亚洲精品tv久久久久| 成人免费一区二区无码视频| 免费h视频在线观看| 国产精品永久免费| 国产亚洲精彩视频| 亚洲欧洲日韩极速播放| 亚洲综合成人网在线观看| 亚洲日韩VA无码中文字幕 | 福利免费观看午夜体检区| 两个人看的www高清免费观看| 污污的视频在线免费观看| 中文字幕在线日亚洲9| 亚洲欧洲日韩综合| 亚洲成人午夜在线| 亚洲精品tv久久久久久久久 |