精品欧美一区二区三区在线观看 _久久久久国色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技術棧公眾號

国产精品视频大全| 精品国产乱码久久久久久久久| 国产视频一区二区不卡| 国产精品23p| aiss精品大尺度系列| 一区二区久久久| 99国产超薄丝袜足j在线观看 | 香蕉视频在线看| 日韩福利视频网| 中文字幕在线观看亚洲| 亚洲黄色av片| 天堂av资源在线观看| 不卡电影免费在线播放一区| 孩xxxx性bbbb欧美| 一级黄色性视频| 亚洲免费一区| 亚洲成人激情综合网| 欧美日韩在线一二三| 中文字幕在线视频免费| 雨宫琴音一区二区三区| 精品处破学生在线二十三| 精品免费国产一区二区| 免费大片黄在线| 成人黄色一级视频| 国产精品美女久久久免费| 老熟妇高潮一区二区三区| 国产精品网在线观看| 色琪琪一区二区三区亚洲区| 中文字幕中文字幕99| 五月婷婷六月色| 日韩av一二三| 国内成人精品一区| 日韩黄色中文字幕| 国产精品白浆| 欧美日韩免费看| 艳母动漫在线观看| 色综合成人av| 国产精品亚洲视频| 午夜精品美女自拍福到在线| 日本黄色小视频在线观看| 亚洲精品一二三**| 欧美在线制服丝袜| 国产黄页在线观看| 91精品久久久久久粉嫩| 亚洲国产精品高清| 69174成人网| 波多野结衣一区二区三区在线| 欧美精品aa| 中文字幕亚洲第一| 大尺度做爰床戏呻吟舒畅| 四虎在线精品| 91久久免费观看| 日韩在线观看a| 久热国产在线| 国产欧美日韩视频一区二区| 国产一区二区三区黄| 国产精品视频无码| 奇米影视一区二区三区小说| 3344国产精品免费看| 久久高清无码视频| 99久久www免费| 国产一区二区三区在线看| 黄色在线免费播放| 欧美高清一级片| 欧美精品黑人性xxxx| 亚洲成人av免费看| 国产直播在线| 亚洲成av人片www| 特级西西人体www高清大胆| 在线免费看黄网站| 国产精品日韩成人| 奇米影视首页 狠狠色丁香婷婷久久综合| 亚洲精品一区二区三区四区| 国产精品一区二区在线观看不卡| 91精品中国老女人| 一级黄色片在线| 美女脱光内衣内裤视频久久网站| 国产精品美乳一区二区免费 | 亚洲国产精品久久久久婷蜜芽| www.欧美日本韩国| 亚洲男人的天堂一区二区| 中文字幕免费在线不卡| 日本中文字幕在线2020| 中文字幕在线观看一区| 手机成人在线| 天天躁日日躁狠狠躁免费麻豆| 91精品影视| 国产精品麻豆一区二区| 青青草成人网| 91免费在线| 中文字幕一区在线观看| 日本一区高清在线视频| 91激情在线| 国产精品传媒在线| 这里只有精品66| 老司机午夜在线视频| 亚洲人成亚洲人成在线观看图片| 爱爱爱视频网站| caopon在线免费视频| 亚洲综合免费观看高清在线观看| 可以看毛片的网址| 日本黄色免费在线| 在线免费一区三区| 国产女女做受ⅹxx高潮| 国产精品一区二区免费福利视频| 91超碰这里只有精品国产| 亚洲涩涩在线观看| 无码国模国产在线观看| 日韩精品视频免费在线观看| www.超碰97| 日本不卡二三区| 久久天天躁日日躁| 日韩av电影网址| 肉丝袜脚交视频一区二区| 欧美中文字幕精品| 中文字幕制服诱惑| 成人久久视频在线观看| 欧美综合77777色婷婷| 免费人成在线观看播放视频| 亚洲一二三四区| 无码日韩人妻精品久久蜜桃| 日本精品在线播放| 精品福利av导航| 亚洲av毛片基地| 好看不卡的中文字幕| 91av在线免费观看| 亚洲一区中文字幕永久在线| 成人免费黄色在线| 中文字幕久精品免| 波多野结衣亚洲一二三| 欧美日韩久久久| 国产一级二级视频| 亚洲综合自拍| 国产99久久精品一区二区| a网站在线观看| 久久久99精品免费观看不卡| 欧美视频在线第一页| 国产精品诱惑| 亚洲另类xxxx| 国产亚洲精品av| 免费高清在线视频一区·| 国产区一区二区三区| 免费av毛片在线看| 一本色道久久综合亚洲aⅴ蜜桃| 丰满少妇一区二区三区专区| 成人在线一区| 欧美中文在线观看国产| 国产精品久久无码一三区| 久久亚洲免费视频| 久久国产精品网| 美女精品久久| xvideos亚洲| 这里只有精品国产| 久久久美女艺术照精彩视频福利播放| 91社在线播放| 激情亚洲小说| 国产亚洲精品久久| 亚洲欧美综合自拍| caoporn国产精品| 国产xxxx振车| 亚洲一区二区三区四区电影| 久久久国产成人精品| 中文字幕一区二区久久人妻| 99re热这里只有精品视频| 日韩激情视频一区二区| 欧美男男gaygay1069| 国产午夜精品免费一区二区三区| 91精品国产综合久久久蜜臀九色| 成人av在线电影| 人妻av无码专区| 国产精品三p一区二区| 欧美人在线视频| 国产福利免费视频| 国产三区在线成人av| 国产av无码专区亚洲精品| 自拍偷拍欧美一区| 日韩av免费网站| 日本久久一级片| 午夜欧美一区二区三区在线播放| 波多野结衣免费观看| 围产精品久久久久久久| 成人动漫网站在线观看| 国产一二三区在线观看| 这里只有精品电影| 日本一级二级视频| 国产乱子轮精品视频| 自拍日韩亚洲一区在线| 精品国产欧美日韩| 91久久精品国产91性色| 不卡视频观看| 中文字幕久热精品在线视频| 国产成人精品av在线观| 欧美日韩免费观看中文| 任你操精品视频| 成人av在线播放网址| 9久久婷婷国产综合精品性色 | 欧美成人精品欧美一级私黄| 99久久久无码国产精品| 99热国产在线观看| 中文在线免费看视频| 狠狠色丁香久久婷婷综合_中 | 亚洲国产日韩欧美在线观看| 中文字幕亚洲综合久久五月天色无吗''| 国产精品三区www17con| 日韩大尺度黄色| 九九热精品视频国产| 国产在线一二三| 日韩欧美亚洲另类制服综合在线| 国产免费av一区| 亚洲免费看黄网站| 亚洲a v网站| 成人国产电影网| 国产永久免费网站| 日韩中文欧美在线| 91精品国产91久久久久麻豆 主演| 欧美一区2区| 久久久久久久有限公司| 香蕉大人久久国产成人av| 欧洲永久精品大片ww免费漫画| 国产一区久久精品| 一区二区三区亚洲| 亚洲av片在线观看| 精品剧情在线观看| 91无套直看片红桃| 在线免费观看一区| 国产成人自拍视频在线| 一区二区三区精品久久久| 国产传媒视频在线| 久久久av毛片精品| 巨胸大乳www视频免费观看| 成人午夜又粗又硬又大| 天堂在线精品视频| 极品美女销魂一区二区三区免费| 成年人视频在线免费| 亚洲乱码视频| 岛国大片在线播放| 国产精品hd| 国产精品久久久影院| 999国产精品| 亚洲欧美一区二区原创| 国产一区二区三区天码| 欧美精品一区二区三区在线看午夜| 99这里只有精品视频| 91在线观看网站| 一区二区中文字幕在线观看| 亚洲aa在线观看| 亚洲成人高清| 成人久久久久爱| 国产亚洲高清一区| 91在线播放国产| 国产精品777777在线播放| 成人激情在线播放| 亚洲伦理网站| 99久久精品无码一区二区毛片 | 老司机福利在线视频| 日韩中文字幕在线观看| 日本蜜桃在线观看| 精品国产一区二区三区四区在线观看 | 91麻豆一二三四在线| 久精品免费视频| 大香伊人中文字幕精品| 午夜精品美女自拍福到在线| 三级中文字幕在线观看| 秋霞午夜一区二区| 亚洲a∨精品一区二区三区导航| 国产成人精品久久二区二区91| 蜜桃视频成人m3u8| 国产三级精品网站| 视频精品国内| 久久这里精品国产99丫e6| 伊人久久综合影院| 亚洲精品一区二区三区樱花 | 亚洲午夜精品视频| 一本一道波多野毛片中文在线| 久久久精品欧美| 国产乱妇乱子在线播视频播放网站| 韩日欧美一区二区| 亚洲天堂一区二区| 成人亲热视频网站| 国产suv精品一区二区四区视频| 久久精品二区| 第一会所亚洲原创| 精品人妻人人做人人爽| 一本久道久久久| 男人女人黄一级| 国产一区美女在线| 香港三级日本三级| 国产精品毛片无遮挡高清| 九九视频在线免费观看| 欧美性xxxx极品高清hd直播| 在线观看亚洲一区二区| 日韩一区二区三区在线| 婷婷国产在线| 亚洲第一久久影院| 人人妻人人爽人人澡人人精品| 欧美日韩高清在线| 日韩中文字幕免费在线观看| 一区二区三区视频在线| 国内老司机av在线| 国产ts一区二区| 日韩影片在线观看| 日本在线观看一区二区三区| 国产精品va| 国产三级日本三级在线播放| 国产传媒一区在线| 色噜噜噜噜噜噜| 亚洲国产精品久久久久秋霞影院| 青娱乐在线免费视频| 亚洲精品在线观看视频| yw在线观看| 97av在线视频免费播放| 欧美黄色一级| 亚洲国产精品www| 在线视频免费在线观看一区二区| 亚洲怡红院在线| 久久久噜噜噜久噜久久综合| 国产精彩视频在线| 欧美人xxxx| 国产视频精选在线| 7777精品视频| www.亚洲一二| 国产高清精品软男同| 日本欧美一区二区三区| 亚洲一区二区三区综合| 亚洲美腿欧美偷拍| 亚洲自拍第二页| 国产亚洲一区二区在线| 麻豆理论在线观看| 国产精品免费视频一区二区| 久久精品亚洲人成影院| 国产主播中文字幕| 久久久久久久综合日本| 日韩精品一区二区三区国语自制 | 亚洲精品97久久中文字幕无码| 在线看片第一页欧美| 韩国美女久久| 麻豆传媒一区| 亚洲人成毛片在线播放女女| 中文字幕视频观看| 尤物视频一区二区| 97人妻精品一区二区三区视频| 在线电影av不卡网址| 久久精品女人天堂av免费观看 | 亚洲精品久久久蜜桃| 97成人在线观看| 精品国产一区二区三区久久狼黑人 | 国产精品你懂的| 国模私拍一区二区| 在线观看日韩av| 一区在线影院| 亚洲欧美精品| 麻豆精品国产传媒mv男同| 天天操天天干天天操天天干| 欧美日韩中文另类| 日本三级视频在线观看| 91情侣偷在线精品国产| 综合视频在线| www.欧美com| 亚洲成人精品一区| 亚洲人成色777777老人头| 欧美性视频在线| 欧美偷拍自拍| 成人性生交视频免费观看| 一区二区三区在线观看国产| 亚洲AV无码一区二区三区性| 久久久久久久爱| 亚洲资源网你懂的| 中文字幕第80页| 亚洲视频每日更新| 性中国xxx极品hd| 91产国在线观看动作片喷水| 欧美女王vk| 日本黄色的视频| 亚洲综合av网| 日本一区高清| 国产综合久久久久| 激情自拍一区| 91中文字幕永久在线| 欧美年轻男男videosbes| 91精品久久久久久粉嫩| 久久国产精品 国产精品| 日韩成人一区二区| 紧身裙女教师波多野结衣| 亚洲成人a**站| 成人国产综合| 黄色a级片免费看| 久久无码av三级| 国产精品-色哟哟| 91精品国产91久久久久久| 成久久久网站| 无套白嫩进入乌克兰美女| 狠狠久久亚洲欧美专区| 1pondo在线播放免费| 懂色中文一区二区三区在线视频| 久久亚洲国产精品一区二区| 无码黑人精品一区二区| 亚洲奶大毛多的老太婆| 精品视频一区二区三区| 国产裸体舞一区二区三区| 亚洲嫩草精品久久|