精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Groovy中編寫正則表達式

開發 開發工具
本文介紹了如何在Groovy中編寫正則表達式。Groovy對正則表達式中需要處理的Pattern和Matcher對象做了簡單封裝,添加了一些額外的實用方法,并給出一個簡化的新的語法和3個新的操作符。

與Java相比, 在Groovy中編寫正則表達式(regexes)簡直是一種樂趣。在Java中, regexes編程不僅需處理Pattern和Matcher對象,而且還要編寫繁瑣的樣板代碼(boilerplate coding)。而Groovy對這兩個Java對象做了簡單封裝,添加了一些額外的實用方法,并給出一個簡化的新的語法和3個新的操作符。

Groovy中,您可用slashy(斜線)語法“/../”定義字符串。這樣以來便可避免在Java正則表達式中使用過多的反斜線。例如:

  1. assert (/Hello World/ in String)  
  2. assert (/Hi \there/ == 'Hi \\there')  

Groovy新增的第1個正則表達式操作符便是模式操作符(~),它使得字符串被編譯成一個Pattern實例。例如:

  1. p = ~/\b[a-zA-Z]\b/ 

也可使用Java實現,如:

  1. import java.util.regex.*  
  2. Pattern p = Pattern.compile("\\b[a-zA-Z]\\b");  

表3.1中列出了常用的正則表達式模式及含義。完整的正則表達式清單可參考Pattern API文檔,http://java.sun.com/j2se/1.5.0/docs/api/java/util/regex/Pattern.html

表3.1 常用的正則表達式模式

模式 含義
 
a?
 盡可能匹配1次a,也可以不匹配
 
a*
 表達式盡可能的多匹配a,最少可以不匹配
 
a+
 盡可能的多匹配a,至少匹配1次
 
a|b
 匹配a或b
 
(ab)
 分組
 
.
 匹配任意一個字符
 
[abc]
 匹配a,b或c
 
[^abc]
 匹配除了a,b或c的任意一個字符
 
[a-z]
 匹配a到z之間的任意一個字母
 
\d
 任意一個數字,0-9 中的任意一個
 
\s
 空格、制表符、換頁符等空白字符的其中任意一個
 
\w
 任意一個字母或數字或下劃線,也就是 A-Z,a-z,0-9,_ 中任意一個
 
\b
 匹配一個單詞邊界,也就是單詞和空格之間的位置,不匹配任何字符
 
^
 與字符串開始的地方匹配,不匹配任何字符
 
$
 與字符串結束的地方匹配,不匹配任何字符

第2個操作符是查找操作符(=~),它負責從左邊的字符串和右邊的模式來創建一個Matcher對象。

  1. import java.util.regex.Matcher  
  2. def matcher = "Groovy" =~ /G.*/  
  3. assert matcher in Matcher  
  4. assert matcher.matches()  

同理,其Java實現,如:

  1. import java.util.regex.*;  
  2. Pattern pattern = Pattern.compile("G.*");  
  3. Matcher matcher = pattern.matcher("Groovy");  
  4. matcher.matches();  

您可把Matcher對象看作一個二維矩陣。第1維表示每一個與模式相匹配的字符串;第2維表示每個匹配內的捕獲組(capture group),詳見清單3.2中的例子。

清單3.2 Using Regexes Groups with Matcher

  1. def text = """  
  2. Lorem 1:30 PM ipsum dolor 12:00 PM sit amet, consectetuer adipiscing elit.  
  3. """  
  4.  
  5. def HOUR = /10|11|12|[0-9]/  
  6. def MINUTE = /[0-5][0-9]/  
  7. def AM_PM = /AM|PM/  
  8. def time = /($HOUR):($MINUTE) ($AM_PM)/  
  9.  
  10. def matcher = text =~ time  
  11.  
  12. assert matcher[0] == ["1:30 PM""1""30""PM"//First Match  
  13.  
  14. assert matcher[0][0] == "1:30 PM" //First match group in the first match  
  15. assert matcher[0][1] == "1" //Second match group in the first match (HOUR)  
  16. assert matcher[0][2] == "30" //Third match group in the first match (MINUTE)  
  17. assert matcher[0][3] == "PM" //Fourth match group in the first match (AM_PM)  
  18.    
  19. assert matcher[1] == ["12:00 PM""12""00""PM"//Second Match  
  20. assert matcher[1][0] == "12:00 PM" //First match group in the second match  
  21. assert matcher[1][1] == "12" //Second match group in the second match (HOUR)  
  22. assert matcher[1][2] == "00" //Third match group in the second match (MINUTE)  
  23. assert matcher[1][3] == "PM" //Fourth match group in the second match (AM_PM) 

***一個是匹配操作符(==~),該操作符返回一個Boolean值,說明操作符左側的整個字符串是否右側的模式相匹配,例如:

  1. assert "Groovy" ==~ /G.*/  
  2. assert 123 ==~ /\d+/  
  3. assert !123 ==~ /\D+/  

正則表達式也可與String的replace*形式的方法(如replaceFirst等)結合使用。例如:

  1. //把***次出現的數字替換為“To”   
  2. assert "Welcome To Groovy" == "Welcome 2 Groovy".replaceFirst(/\d/, "To")  

GDK String還提供了一個可接受閉包的replace方法,該閉包可用來操作每個捕捉組(captured group),例如

  1. //把所有的“Groovy”轉換為大寫形式  
  2. "Hello GROOVY, GROOVY rocks" == "Hello Groovy, Groovy rocks" 
  3. .replaceAll("Groovy") {Object[] it ->it[0].toUpperCase()}  

您可以使用grep方法,該方法利用正則表達式篩選一個集合,并返回集合中滿足給定過濾條件的元素。例如:

  1. //返回集合中以“G”開頭的元素  
  2. assert ["Groovy"] == ["Groovy","Rocks"].grep(~/G.*/)  

【編輯推薦】

  1. 在Groovy中使用字符串
  2. Groovy腳本文件中的靜態main方法
  3. 基于JVM的語言正在開始流行
  4. 專題:Groovy開發技術
  5. 專題:Scala編程語言
責任編輯:yangsai 來源: JavaEye博客
相關推薦

2010-03-25 18:25:36

Python正則表達式

2012-05-08 13:29:01

VB

2018-09-27 15:25:08

正則表達式前端

2020-09-04 09:16:04

Python正則表達式虛擬機

2024-09-14 09:18:14

Python正則表達式

2011-08-23 17:46:09

LUA正則表達式模式

2020-11-04 09:23:57

Python

2009-09-16 13:14:10

Ereg正則表達式

2021-01-27 11:34:19

Python正則表達式字符串

2022-03-28 06:19:14

正則表達式開發

2017-05-12 10:47:45

Linux正則表達式程序基礎

2019-07-17 15:45:47

正則表達式字符串前端

2009-02-18 09:48:20

正則表達式Java教程

2011-06-02 12:34:16

正則表達式

2009-09-16 18:19:34

正則表達式組

2016-11-10 16:21:22

Java 正則表達式

2009-09-16 17:15:57

正則表達式引擎

2022-01-04 11:35:03

Linux Shel正則表達式Linux

2023-09-13 08:12:45

2009-03-16 14:01:24

正則表達式函數SQL
點贊
收藏

51CTO技術棧公眾號

欧美日韩在线播放三区| 激情综合五月天| 亚洲国产精品人久久电影| 欧美色图一区二区三区| 久草热久草热线频97精品| 黄色av网站免费观看| 成人在线国产| 精品国产不卡一区二区三区| 成年人视频在线免费| 国产二区三区在线| 99国产精品99久久久久久| 国产精品国产三级国产专播精品人| 希岛爱理中文字幕| 最新亚洲精品| 日韩欧美二区三区| 日韩免费毛片视频| 日韩伦理电影网站| 国产欧美日韩卡一| 国产伦一区二区三区色一情| 黄色污污视频软件| 影音先锋一区| 久久久999成人| 亚洲日本精品视频| 精品伊人久久久| 日韩一区二区三区三四区视频在线观看 | 天天操天天干视频| 久久社区一区| 亚洲欧美日韩中文在线| 国产免费a级片| 91精品视频一区二区| 色天天综合久久久久综合片| 亚洲精品久久久久久久蜜桃臀| 2017亚洲天堂1024| 久久精品网站免费观看| 精品免费日产一区一区三区免费| 99热这里精品| 久久精品国产久精国产| 国产成人综合久久| 国产无遮挡免费视频| 午夜日韩av| 欧美成人午夜影院| 国产成人久久久久| 久久国产亚洲| 主播福利视频一区| 山东少妇露脸刺激对白在线| 九九热爱视频精品视频| 亚洲激情视频网站| 中文视频在线观看| 红杏成人性视频免费看| 亚洲电影免费观看高清| 精品国产aⅴ一区二区三区东京热 久久久久99人妻一区二区三区 | 97人妻精品一区二区三区视频| 日韩精品久久久久久| 日本午夜精品理论片a级appf发布| 国产真实的和子乱拍在线观看| 欧美va天堂在线| 欧美剧在线观看| 欧美日韩中文字幕在线观看| 欧美一区影院| 欧美成人免费一级人片100| 欧美激情图片小说| 欧美fxxxxxx另类| 欧美高清无遮挡| 免费一级特黄特色大片| 亚洲日本视频| 欧美在线精品免播放器视频| 久久精品视频7| 日产国产欧美视频一区精品 | 视频欧美精品| 欧美一区日本一区韩国一区| 欧美日韩一区二区区| www.丝袜精品| 日韩成人高清在线| www.黄色在线| 亚洲色图二区| 久久久视频精品| 特级毛片www| 美日韩一区二区| 91九色露脸| 三级在线观看网站| 国产亚洲精品久| 手机成人av在线| 波多野结衣久久| 在线亚洲高清视频| 色91精品久久久久久久久| 日韩一区二区三区色| 亚洲国产精品va在线| 成人午夜福利一区二区| 91超碰国产精品| 97超级碰碰碰| 夜夜嗨aⅴ一区二区三区| 国产精品一区一区三区| 久久66热这里只有精品| jzzjzzjzz亚洲成熟少妇| 亚洲精品综合在线| 美女福利视频在线| 91精品视频一区二区| 亚洲精品国产品国语在线| 久草手机视频在线观看| 亚洲国产日本| 国产精品亚洲视频在线观看| 亚洲成人av综合| 日本一区免费视频| 国产乱子伦精品无码专区| 日韩欧美一区二区三区在线观看 | 日韩电影二区| 国内精品久久久久久久久| 中文有码在线播放| 99久久国产综合色|国产精品| 亚洲一区二区三区乱码| 国产乱码午夜在线视频| 在线电影一区二区三区| 国产三级国产精品| 综合天天久久| 国产精品中文久久久久久久| 性xxxx搡xxxxx搡欧美| 一区二区欧美精品| 视频二区在线播放| 色婷婷狠狠五月综合天色拍| 色综合久久天天综线观看| 国产在线一级片| 97se狠狠狠综合亚洲狠狠| 成人短视频在线看| 精品肉辣文txt下载| 亚洲国产天堂久久综合| 免费中文字幕视频| 久久av资源站| 亚洲欧洲日韩精品| gogo亚洲高清大胆美女人体 | 亚洲蜜桃精久久久久久久久久久久| 91精品久久久久久久蜜月| 国产精品免费小视频| 免费黄色在线视频网站| 午夜精品福利一区二区三区av | 五月婷婷丁香在线| 91麻豆福利精品推荐| 妺妺窝人体色777777| 国产在线一区不卡| www.日韩视频| 中文字幕人妻一区二区在线视频| 成人短视频下载 | 老司机精品导航| 久久99精品久久久久久青青日本| 久草免费在线色站| 日韩美女一区二区三区| 精国产品一区二区三区a片| 国产综合色在线| 精品91一区二区三区| 亚洲ww精品| 久久视频在线直播| 国产男男gay体育生网站| 中文字幕亚洲在| 国产传媒免费观看| 888久久久| 99高清视频有精品视频| 手机在线免费观看av| 精品少妇一区二区三区| 黄色小说在线观看视频| 成人a免费在线看| 成人在线免费观看av| 日韩欧美在线精品| 国产成人精品优优av| youjizz在线播放| 欧美狂野另类xxxxoooo| 最新一区二区三区| 成人午夜视频在线| 女人扒开屁股爽桶30分钟| 欧美理论视频| 国产综合久久久久| 精品精品导航| 亚洲另类欧美自拍| 91激情在线观看| 亚洲精品亚洲人成人网在线播放| 无码人妻久久一区二区三区蜜桃| 99av国产精品欲麻豆| 日韩欧美亚洲在线| 精品国产第一国产综合精品| 欧美国产日韩一区二区在线观看| 三区在线视频| 欧美日韩性生活| 九九视频免费观看| 2020国产精品自拍| 向日葵污视频在线观看| 激情成人综合| 亚洲ai欧洲av| 99精品国产一区二区三区2021| 97视频在线播放| 亚洲搞黄视频| 亚洲成人av在线| 真实新婚偷拍xxxxx| 亚洲日本成人在线观看| 美女又爽又黄视频毛茸茸| 久久国产精品一区二区| 国产一区二区四区| 第一会所亚洲原创| 丁香婷婷久久久综合精品国产 | 国产精品一区二区三区在线播放 | 欧美日韩精品在线| 五月天免费网站| 99久久精品99国产精品| 超碰在线资源站| 性伦欧美刺激片在线观看| 黄色网址在线免费看| 日韩精品a在线观看91| 91精品国产综合久久香蕉的用户体验 | 亚洲精品蜜桃乱晃| 91亚洲精品一区二区| 亚洲校园激情春色| 欧美国产第一页| 成年人在线观看| 亚洲电影天堂av| 国产91视频在线| 欧美日韩日日摸| 亚洲欧美偷拍视频| 亚洲成av人片在www色猫咪| 国产精品18在线| 久久这里只有精品6| 亚洲国产精品狼友在线观看| 久久99久国产精品黄毛片色诱| 欧美 日韩 国产一区| 亚洲夜间福利| 久久视频免费在线| 久久蜜桃av| 日本高清不卡三区| 欧美调教在线| 国产成人精品免费视频大全最热 | 97人澡人人添人人爽欧美| 久久国产一区二区三区| 国产www.大片在线| 亚洲欧美资源在线| 天堂a中文在线| 亚洲国产高清高潮精品美女| 成人av一区二区三区在线观看| 欧美日韩中文字幕一区二区| 国产剧情在线视频| 欧美色视频日本版| 国产九色在线播放九色| 亚洲va在线va天堂| 国产一级片久久| 一区二区三区在线视频播放| 中文字幕电影av| ...xxx性欧美| 日韩在线不卡av| 国产精品久线在线观看| 黄色一级片一级片| 中文字幕精品综合| 亚洲色图 激情小说| 中文字幕精品一区二区三区精品 | 欧美18xxxxx| 亚洲精品小视频在线观看| 五月婷婷开心中文字幕| 日韩电影网在线| 手机福利在线| 亚洲男人第一网站| 精品美女视频在线观看免费软件 | 超碰在线caoporn| 欧美成人第一页| 黄色成人在线网| 97视频免费在线看| 黑人巨大精品| 国产精品老女人精品视频| 亚洲男人在线| 51精品国产人成在线观看| 99久久婷婷国产综合精品青牛牛 | 国产精品国产福利国产秒拍| 国产精品成人国产| 91中文字幕在线| 91免费精品国偷自产在线在线| 国产精品视频入口| 免费不卡中文字幕在线| 亚洲人成77777| 欧美视频官网| 精品欧美一区免费观看α√| 久久综合图片| 亚洲三级在线观看视频| 成人一区二区三区视频在线观看 | 欧美a级网站| 欧洲精品一区色| 小处雏高清一区二区三区| av日韩在线看| 男人的天堂亚洲| 欧美日韩精品区别| 成人黄色国产精品网站大全在线免费观看 | 中文字幕在线亚洲精品| 在线欧美亚洲| 一区二区三区免费播放| 国产经典欧美精品| 亚洲自拍偷拍一区二区| 亚洲免费伊人电影| 日韩大片免费在线观看| 欧美日韩在线三级| 色屁屁草草影院ccyycom| 国产一区二区三区久久精品| 色呦呦呦在线观看| 国产精品96久久久久久| 视频在线亚洲| 色乱码一区二区三在线看| 欧美午夜久久| 天天干在线影院| 不卡的av中国片| 九九精品视频免费| 欧美午夜片欧美片在线观看| 国产模特av私拍大尺度| 亚洲午夜未删减在线观看| 欧洲黄色一区| 国产美女久久精品| 亚洲成人一品| 男人天堂a在线| 精品一区二区三区在线播放| 亚洲国产精品无码久久久久高潮 | 国产精品一区无码| 日韩一级大片在线| 超碰免费在线观看| 88国产精品欧美一区二区三区| 亚洲人体在线| 欧美一区1区三区3区公司| 在线观看日韩av电影| 伊人国产精品视频| 国产欧美日韩视频在线观看| 国产无遮挡呻吟娇喘视频| 欧美不卡激情三级在线观看| 国产美女av在线| 国产精品久久久久久亚洲调教| 欧美爱爱网站| 欧美视频在线观看视频| 国产麻豆视频一区二区| 国产精品suv一区二区88 | 欧美少妇性生活视频| 91在线视频观看| 中文在线观看免费网站| 日韩欧美色综合| 成人毛片av在线| 91九色国产在线| 99精品在线观看| 91精品999| 亚洲欧洲一区二区在线播放| 亚洲 小说区 图片区| 国产亚洲视频在线| 神马电影网我不卡| 欧美亚洲爱爱另类综合| 欧美亚洲三区| av小说在线观看| 日韩欧美极品在线观看| 日本人妖在线| 日本一区二区在线免费播放| 亚洲另类春色校园小说| 成人在线免费在线观看| 久久夜色精品国产欧美乱极品| 毛片毛片女人毛片毛片| 亚洲精品视频二区| 亚洲成a人片| 日韩在线导航| 麻豆久久久久久| 国产又粗又硬又长又爽| 日韩一区二区高清| 欧美黄色视屏| 精品无人区一区二区三区竹菊 | 亚洲欧美手机在线| 亚洲日本一区二区| 午夜精品久久久久久久爽| 欧美极品少妇xxxxⅹ免费视频| 超碰精品在线观看| 国产一区二区网| 久久精品在这里| 亚洲中文字幕在线观看| 久久人体大胆视频| 91午夜精品| 男人天堂999| 国产精品丝袜一区| 国产ts人妖调教重口男| 韩国福利视频一区| 国产91精品对白在线播放| 中文字幕第36页| 亚洲精品日韩专区silk| 手机av免费在线观看| 国产成人精品优优av| 亚洲精品极品少妇16p| 国产chinese中国hdxxxx| 在线免费一区三区| www在线免费观看视频| 国产欧美日韩一区| 日本亚洲天堂网| 九九免费精品视频| 亚洲天堂2020| 国产精品麻豆| 国产麻花豆剧传媒精品mv在线| 国产精品黄色在线观看| 风流老熟女一区二区三区| 国产成人97精品免费看片| 99久久影视| 波多野结衣一二三区| 欧美视频你懂的| a级片在线免费| 亚洲一区精彩视频| 99国产精品久久久久久久久久久| 中文字幕一区二区三区四区免费看| 欧美二区乱c黑人| 成人婷婷网色偷偷亚洲男人的天堂| 中文字幕1区2区| 欧美撒尿777hd撒尿|