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

在JDK7 b50中將實現正則表達式命名捕獲組

開發 后端
在JDK7 b50中將實現正則表達式命名捕獲組這是很多Javaer期待的事情那么在JDK7 b50中將實現正則表達式命名捕獲組具體是哪些呢?本文將向你簡單介紹。

在JDK7 b50中將實現正則表達式命名捕獲組是眾望所歸,目前Java的正則表達式不支持命名捕獲組功能,只能通過捕獲組的計數來訪問捕獲組。當正則表達式比較復雜的時候,里面含有大量的捕獲組和非捕獲組,通過從左至右數括號來得知捕獲組的計數也是一件很煩人的事情;而且這樣做代碼的可讀性也不好,當正則表達式需要修改的時候也會改變里面捕獲組的計數。

解決這個問題的方法是通過給捕獲組命名來解決,就像Python, PHP, .Net 以及Perl這些語言里的正則表達式一樣。這個特性javaer已經期待了很多年,而現在我們終于在jdk7 b50得到了實現。

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

◆(?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中實現正則表達式命名捕獲組之后你可以像這樣使用正則式:

  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中實現正則表達式命名捕獲組之后怎么樣呢?是不是眼睛一亮呢?

【編輯推薦】

  1. 實現Java中對象比較的兩個方法
  2. 初學Java多線程:使用Synchronized塊同步方法
  3. 初學Java多線程:從線程返回數據的兩種方法
  4. Java中兩個特殊變量this和super 的使用
  5. 3.6.3 this關鍵字和構造方法的調用
責任編輯:仲衡 來源: diyjava
相關推薦

2009-03-12 10:15:15

正則表達式JDK7Java

2009-09-16 17:38:49

正則表達式匹配任意字符

2009-09-16 18:19:34

正則表達式組

2009-08-20 13:44:07

C#正則表達式

2009-06-15 17:24:59

Groovy正則表達式

2010-03-25 18:25:36

Python正則表達式

2012-05-08 13:29:01

VB

2020-09-04 09:16:04

Python正則表達式虛擬機

2018-09-27 15:25:08

正則表達式前端

2009-09-16 12:41:42

Perl正則表達式

2024-09-14 09:18:14

Python正則表達式

2009-09-16 14:32:43

PHP正則表達式替換

2020-11-04 09:23:57

Python

2009-09-16 13:14:10

Ereg正則表達式

2011-08-23 17:46:09

LUA正則表達式模式

2022-03-28 06:19:14

正則表達式開發

2009-02-18 09:48:20

正則表達式Java教程

2019-07-17 15:45:47

正則表達式字符串前端

2021-01-27 11:34:19

Python正則表達式字符串

2011-06-02 12:34:16

正則表達式
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 黄色日本片 | 超黄视频网站 | 午夜寂寞网站 | 久久久噜噜噜www成人网 | 91久久精品一区二区二区 | 美女视频h| 中文字幕二区 | 久久久不卡网国产精品一区 | 操久久久 | 欧美日韩在线一区二区 | 久久久久久久久淑女av国产精品 | 日韩国产精品一区二区三区 | 国产电影一区二区三区爱妃记 | 成人亚洲视频 | 中文字幕在线视频一区二区三区 | 国产在线网站 | 亚洲精品乱码久久久久久按摩观 | 国产二区视频 | 国产精品久久久久久久 | 99热在这里只有精品 | 亚洲视频一区在线观看 | 在线中文字幕视频 | 日韩精品 | 久久精品亚洲一区二区三区浴池 | 在线免费观看黄色 | 国产精品久久久久久网站 | 精品国产综合 | 欧美aⅴ | 成人亚洲网 | 国产精品视频观看 | 欧美极品在线观看 | 日本黄色大片免费 | 天天操夜夜艹 | 人人澡人人射 | 日本精品一区 | 欧美视频 亚洲视频 | 欧美日韩久久久 | 国产精品午夜电影 | 韩日一区二区 | 亚洲精品4 | 国产xxxx搡xxxxx搡麻豆 |