成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

在JDK7 b50中將實(shí)現(xiàn)正則表達(dá)式命名捕獲組

開(kāi)發(fā) 后端
在JDK7 b50中將實(shí)現(xiàn)正則表達(dá)式命名捕獲組這是很多Javaer期待的事情那么在JDK7 b50中將實(shí)現(xiàn)正則表達(dá)式命名捕獲組具體是哪些呢?本文將向你簡(jiǎn)單介紹。

在JDK7 b50中將實(shí)現(xiàn)正則表達(dá)式命名捕獲組是眾望所歸,目前Java的正則表達(dá)式不支持命名捕獲組功能,只能通過(guò)捕獲組的計(jì)數(shù)來(lái)訪問(wèn)捕獲組。當(dāng)正則表達(dá)式比較復(fù)雜的時(shí)候,里面含有大量的捕獲組和非捕獲組,通過(guò)從左至右數(shù)括號(hào)來(lái)得知捕獲組的計(jì)數(shù)也是一件很煩人的事情;而且這樣做代碼的可讀性也不好,當(dāng)正則表達(dá)式需要修改的時(shí)候也會(huì)改變里面捕獲組的計(jì)數(shù)。

解決這個(gè)問(wèn)題的方法是通過(guò)給捕獲組命名來(lái)解決,就像Python, PHP, .Net 以及Perl這些語(yǔ)言里的正則表達(dá)式一樣。這個(gè)特性javaer已經(jīng)期待了很多年,而現(xiàn)在我們終于在jdk7 b50得到了實(shí)現(xiàn)。

新引入的命名捕獲組支持如下:

◆(?X) to define a named group NAME"

◆\k to backref a named group "NAME"

◆<$ to reference to captured group in matcher's replacement str

◆group(String NAME) to return the captured input subsequence by the given "named group"
 

在JDK7 b50中實(shí)現(xiàn)正則表達(dá)式命名捕獲組之后你可以像這樣使用正則式:

  1. String pStr = "0x(?\\p{XDigit}{1,4})\\s++u\\+(?\\p{XDigit}{4})(?:\\s++)?";  
  2.  
  3. Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT);  
  4.  
  5. if (m.matches()) {  
  6.  
  7. int bs = Integer.valueOf(m.group("bytes"), 16);  
  8.  
  9. int c = Integer.valueOf(m.group("char"), 16);  
  10.  
  11. System.out.printf("[%x] -> [%04x]%n", bs, c);  
  12.  
  13. }  
  14.  
  15. String pStr = "0x(?\\p{XDigit}{1,4})\\s++u\\+(?\\p{XDigit}{4})(?:\\s++)?";  
  16.  
  17. Matcher m = Pattern.compile(pStr).matcher(INPUTTEXT);  
  18.  
  19. if (m.matches()) {  
  20.  
  21. int bs = Integer.valueOf(m.group("bytes"), 16);  
  22.  
  23. int c = Integer.valueOf(m.group("char"), 16);  
  24.  
  25. System.out.printf("[%x] -> [%04x]%n", bs, c);  
  26.  

或者

  1. System.out.println("0x1234 u+5678".replaceFirst(pStr, "u+$ 0x$")); 

在JDK7 b50中實(shí)現(xiàn)正則表達(dá)式命名捕獲組之后怎么樣呢?是不是眼睛一亮呢?

【編輯推薦】

  1. 實(shí)現(xiàn)Java中對(duì)象比較的兩個(gè)方法
  2. 初學(xué)Java多線程:使用Synchronized塊同步方法
  3. 初學(xué)Java多線程:從線程返回?cái)?shù)據(jù)的兩種方法
  4. Java中兩個(gè)特殊變量this和super 的使用
  5. 3.6.3 this關(guān)鍵字和構(gòu)造方法的調(diào)用
責(zé)任編輯:仲衡 來(lái)源: diyjava
相關(guān)推薦

2009-03-12 10:15:15

正則表達(dá)式JDK7Java

2009-09-16 17:38:49

正則表達(dá)式匹配任意字符

2009-09-16 18:19:34

正則表達(dá)式組

2009-08-20 13:44:07

C#正則表達(dá)式

2009-06-15 17:24:59

Groovy正則表達(dá)式

2010-03-25 18:25:36

Python正則表達(dá)式

2012-05-08 13:29:01

VB

2018-09-27 15:25:08

正則表達(dá)式前端

2020-09-04 09:16:04

Python正則表達(dá)式虛擬機(jī)

2009-09-16 12:41:42

Perl正則表達(dá)式

2024-09-14 09:18:14

Python正則表達(dá)式

2009-09-16 14:32:43

PHP正則表達(dá)式替換

2016-11-10 16:21:22

Java 正則表達(dá)式

2009-09-16 17:15:57

正則表達(dá)式引擎

2022-01-04 11:35:03

Linux Shel正則表達(dá)式Linux

2023-09-13 08:12:45

2020-11-04 09:23:57

Python

2009-09-16 13:14:10

Ereg正則表達(dá)式

2011-08-23 17:46:09

LUA正則表達(dá)式模式

2017-05-12 10:47:45

Linux正則表達(dá)式程序基礎(chǔ)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: www.国产 | 日日操网站 | 欧美毛片免费观看 | 亚洲不卡在线观看 | 久久天堂| 91精品国产综合久久婷婷香蕉 | 亚洲看片网站 | 日本免费一区二区三区四区 | 国产精品av久久久久久久久久 | 天天操夜夜操 | 毛片一级片 | 亚洲人成人网 | 久久大香| 久久精品视频在线免费观看 | 亚洲综合色网站 | 成人国产精品免费观看 | 欧美成人一区二区三区 | 精品国产一区二区三区性色 | 国产精品国产三级国产aⅴ无密码 | 久久精品网 | 性一交一乱一透一a级 | 懂色一区二区三区免费观看 | 精品一区二区在线观看 | 精品亚洲一区二区 | 亚洲欧美bt| 妞干网av| 亚洲视频二区 | 欧美日韩亚洲一区二区 | 久久新| 日本 欧美 三级 高清 视频 | 91国内精品久久 | 中文在线a在线 | 99精品国自产在线 | 人人草人人干 | 国产成人精品久久二区二区91 | 羞羞视频在线观看网站 | 亚洲国产成人精品久久久国产成人一区 | 国产麻豆乱码精品一区二区三区 | 久久无毛 | 欧美精品综合在线 | 午夜免费在线电影 |