亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

Java中使用正則表達式實現字符串匹配

2019-11-18 15:38:15
字體:
來源:轉載
供稿:網友
黑暗歲月

  有一個String,如何查詢其中是否有y和f字符?最黑暗的辦法就是:

  程序1:我知道if、for語句和charAt()啊。

class Test{
 public static void main(String args[]) {
  String str="For my money, the important thing "+"about the meeting was bridge-building";
  char x='y';
  char y='f';
  boolean result=false;
  for(int i=0;i<str.length;i++){
   char z=str.charAt(i); //System.out.PRintln(z);
   if(x==zy==z) {
    result=true;
    break;
   }
   else result=false;
  }
  System.out.println(result);
 }
}
  似乎很直觀,但這種方式難以應付復雜的工作。如查詢一段文字中,是否有is?是否有thing或ting等。這是一個討厭的工作。

  java的java.util.regex包

  按照面向對象的思路,把希望查詢的字符串如is、thing或ting封裝成一個對象,以這個對象作為模板去匹配一段文字,就更加自然了。作為模板的那個東西就是下面要討論的正則表達式。先不考慮那么復雜,看一個例子: 程序2:不懂。先看看可以吧?

import java.util.regex.*;

class Regex1{
 public static void main(String args[]) {
  String str="For my money, the important thing "+"about the meeting was bridge-building";
  String regEx="af"; //表示a或f
  Pattern p=Pattern.compile(regEx);
  Matcher m=p.matcher(str);
  boolean result=m.find();
  System.out.println(result);
 }
}
  假如str匹配regEx,那么result為true,否則為flase。假如想在查找時忽略大小寫,則可以寫成:

Pattern p=Pattern.compile(regEx,Pattern.CASE_INSENSITIVE);
  雖然暫時不知道Pattern(模板、模式)和Matcher(匹配器)的細節,程序的感覺就比較爽,假如先查詢is、后來又要查詢thing或ting,我們只需要修改一下模板Pattern,而不是考慮if語句和for語句,或者通過charAt()。

  1、寫一個非凡的字符串——正則表達式如af。

  2、將正則表達式編譯成一個模板:p

  3、用模板p去匹配字符串str。

  思路清楚了,現在看Java是如何處理的(Java程序員直到JDK1.4才能使用這些類。

  Pattern類與查找

 ?、賞ublic final class java.util.regex.Pattern是正則表達式編譯后的表達法。下面的語句將創建一個Pattern對象并賦值給句柄p:Pattern p=Pattern.compile(regEx);

  有趣的是,Pattern類是final類,而且它的構造器是private。也許有人告訴你一些設計模式的東西,或者你自己查有關資料。這里的結論是:Pattern類不能被繼續,我們不能通過new創建Pattern類的對象。

  因此在Pattern類中,提供了2個重載的靜態方法,其返回值是Pattern對象(的引用)。如:

public static Pattern compile(String regex) {
 return new Pattern(regex, 0);
}
  當然,我們可以聲明Pattern類的句柄,如Pattern p=null;

 ?、趐.matcher(str)表示以用模板p去生成一個字符串str的匹配器,它的返回值是一個Matcher類的引用,為什么要這個東西呢?按照自然的想法,返回一個boolean值不行嗎?

  我們可以簡單的使用如下方法:

boolean result=Pattern.compile(regEx).matcher(str).find();
  其實是三個語句合并的無句柄方式。無句柄經常不是好方式。后面再學習Matcher類吧。先看看regEx——這個怪咚咚。

  正則表達式之限定符

  正則表達式(Regular EXPression)是一種生成字符串的字符串。暈吧。比如說,String regEx="me+";這里字符串me+能夠生成的字符串是:me、mee、meee、meeeeeeeeee等等,一個正則表達式可能生成無窮的字符串,所以我們不可能(有必要嗎?)輸出正則表達式產生的所有東西。

  反過來考慮,對于字符串:me、mee、meee、meeeeeeeeee等等,我們能否有一種語言去描述它們呢?顯然,正則表達式語言是這種語言,它是一些字符串的模式——簡潔而深刻的描述。

  我們使用正則表達式,用于字符串查找、匹配、指定字符串替換、字符串分割等等目的。

  生成字符串的字符串——正則表達式,真有些復雜,因為我們希望由普通字符(例如字符 a 到 z)以及非凡字符(稱為元字符)描述任意的字符串,而且要準確。

  先看幾個正則表達式例子:

  程序3:我們總用這個程序測試正則表達式。



發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美日韩在线看| 欧美日韩亚洲系列| 2019亚洲男人天堂| 亚洲社区在线观看| 97超碰国产精品女人人人爽| 久久久精品一区二区三区| 亚洲欧美日韩中文视频| 亚洲精品国产成人| 亚洲一区二区精品| 日本精品视频在线| 大胆人体色综合| 国产精品电影网| 亚洲最大福利网| 日韩欧美在线第一页| 久久精品男人天堂| 97精品国产97久久久久久春色| 日韩精品免费在线视频| 日韩精品在线观看视频| 国产精品爱啪在线线免费观看| 8x海外华人永久免费日韩内陆视频| 久久久精品中文字幕| 另类图片亚洲另类| 久久艳片www.17c.com| 国产成人在线一区二区| 日韩在线视频中文字幕| 国产精品盗摄久久久| 久久久久久国产三级电影| 欧美日本中文字幕| 亚洲国产精久久久久久久| 深夜精品寂寞黄网站在线观看| 欧美成人午夜激情| 欧美巨乳美女视频| 在线观看国产成人av片| 日韩美女在线看| 亚洲精品日韩丝袜精品| 成人黄色免费网站在线观看| 亚洲精品v欧美精品v日韩精品| 成人性生交大片免费观看嘿嘿视频| 日韩中文字幕免费视频| 国产精品美女久久| 日本一本a高清免费不卡| 国产日韩欧美日韩大片| 国产精品日韩欧美大师| 中文国产成人精品| 日本欧美国产在线| 亚洲欧美激情四射在线日| 国产精品久久久久久久久久久久久久| 成人av在线亚洲| 亚洲va男人天堂| 国产精品av电影| 欧美一级黑人aaaaaaa做受| 97精品视频在线播放| 欧美视频在线观看 亚洲欧| 91欧美视频网站| 91精品国产综合久久香蕉的用户体验| 成人免费直播live| 成人亚洲欧美一区二区三区| 亚洲护士老师的毛茸茸最新章节| 国产成人精品在线视频| 91日韩在线播放| 91网站在线看| 欧美日韩国产精品专区| 欧美黑人视频一区| 国产精品久久97| 日韩av在线不卡| 亚洲精品自在久久| 日韩av免费在线观看| 亚洲成**性毛茸茸| 午夜精品视频网站| 亚洲第一综合天堂另类专| 日本在线精品视频| 热久久99这里有精品| 91在线视频九色| 日韩欧美成人精品| 午夜免费在线观看精品视频| 97不卡在线视频| 欧美一二三视频| 美女撒尿一区二区三区| 国产精品无av码在线观看| 最近2019好看的中文字幕免费| 97视频在线播放| 91精品国产99久久久久久| 久久久99免费视频| 国产精品福利网站| 欧美高清视频在线| 日韩精品小视频| 国产成人午夜视频网址| 日韩精品视频在线免费观看| 日韩美女视频免费在线观看| 国产精品老女人精品视频| 57pao国产精品一区| 日本精品免费一区二区三区| 日韩av免费在线播放| 日韩av片永久免费网站| 久久久久久成人| 97碰碰碰免费色视频| 久久影视电视剧免费网站清宫辞电视| 精品亚洲一区二区三区在线播放| 91在线精品视频| 亚洲精品视频网上网址在线观看| 亚洲精品资源在线| 日韩欧美成人免费视频| 国产精品成久久久久三级| 亚洲人成电影网站色xx| 国产精品揄拍一区二区| 精品国产31久久久久久| 国产精自产拍久久久久久| 91久久综合亚洲鲁鲁五月天| 91在线观看免费| 成人h猎奇视频网站| 亚洲成人性视频| 91精品视频在线免费观看| 中文字幕亚洲欧美日韩高清| 欧美最猛性xxxxx亚洲精品| 亚洲国产日韩一区| 日韩亚洲第一页| 久久亚洲精品一区二区| 亚洲自拍中文字幕| 日韩在线观看av| 日韩国产精品一区| 国产精品视频久久| 2019最新中文字幕| 国产欧美日韩中文字幕| 久久av红桃一区二区小说| 久久精品福利视频| 中文字幕亚洲色图| 久久久精品亚洲| 日韩欧美在线看| 国产伦精品免费视频| 亚洲精品99久久久久中文字幕| 岛国av一区二区在线在线观看| 91精品国产99| 亚洲第一福利视频| 久久久免费观看| 亚洲人成人99网站| 日韩最新免费不卡| 一区二区中文字幕| 2021久久精品国产99国产精品| 亚洲天堂一区二区三区| 精品久久久久久中文字幕| 性金发美女69hd大尺寸| 欧美日产国产成人免费图片| 欧美性xxxxx极品| 91在线观看免费观看| 亚洲最新av在线| 久久精品国产亚洲精品| 国产精品视频不卡| 亚洲va欧美va国产综合剧情| …久久精品99久久香蕉国产| 日韩人体视频一二区| 欧美大片免费观看在线观看网站推荐| 国产一区二区三区中文| 中文字幕久热精品视频在线| 亚洲自拍欧美另类| 92版电视剧仙鹤神针在线观看| 国模精品一区二区三区色天香| 久久亚洲影音av资源网| 国产精品一区二区三| 欧美一区二区三区免费观看| 91高清视频免费| 国产视频一区在线| 久久91精品国产91久久久| 亚洲成成品网站| 亚洲最新av在线|