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

JDK 7中將支持正則表達(dá)式命名捕獲組

開發(fā) 后端
目前Java的正則表達(dá)式不支持命名捕獲組功能,只能通過捕獲組的計(jì)數(shù)來訪問捕獲組.當(dāng)正則表達(dá)式比較復(fù)雜的時(shí)候,里面含有大量的捕獲組和非捕獲組,通過從左至右數(shù)括號來得知捕獲組的計(jì)數(shù)也是一件很煩人的事情.

目前Java的正則表達(dá)式不支持命名捕獲組功能,只能通過捕獲組的計(jì)數(shù)來訪問捕獲組.當(dāng)正則表達(dá)式比較復(fù)雜的時(shí)候,里面含有大量的捕獲組和非捕獲組,通過從左至右數(shù)括號來得知捕獲組的計(jì)數(shù)也是一件很煩人的事情;而且這樣做代碼的可讀性也不好,當(dāng)正則表達(dá)式需要修改的時(shí)候也會改變里面捕獲組的計(jì)數(shù)。

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

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

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

(2) \k to backref a named group "NAME"

(3) <$ to reference to captured group in matcher's replacement str

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

現(xiàn)在你可以像這樣使用正則式:

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
27   }

或者

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

【編輯推薦】

  1. Java多線程編程基礎(chǔ)之線程和多線程
  2. Java代碼的靜態(tài)編譯和動態(tài)編譯中的問題比較
  3. 成為Java高手的25個(gè)學(xué)習(xí)要點(diǎn)
責(zé)任編輯:彭凡 來源: Javaeye
相關(guān)推薦

2009-07-07 13:18:28

JDK7

2009-09-16 18:19:34

正則表達(dá)式組

2009-08-20 13:44:07

C#正則表達(dá)式

2018-09-27 15:25:08

正則表達(dá)式前端

2020-09-04 09:16:04

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

2024-09-14 09:18:14

Python正則表達(dá)式

2010-03-25 18:25:36

Python正則表達(dá)式

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ǔ)

2022-03-28 06:19:14

正則表達(dá)式開發(fā)

2021-01-27 11:34:19

Python正則表達(dá)式字符串

2009-02-18 09:48:20

正則表達(dá)式Java教程

2019-07-17 15:45:47

正則表達(dá)式字符串前端

2011-06-02 12:34:16

正則表達(dá)式

2009-06-15 17:24:59

Groovy正則表達(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
點(diǎn)贊
收藏

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

主站蜘蛛池模板: 国产精品欧美精品日韩精品 | 激情综合五月 | 亚洲综合国产 | 午夜一级黄色片 | 欧美精品综合在线 | 中文字幕一区二区三区不卡在线 | 男女羞羞视频在线观看 | 久久三区 | 久草在线 | 久久麻豆精品 | 少妇精品亚洲一区二区成人 | 狠狠的日| 午夜精品久久久久久久久久久久久 | 在线一区二区三区 | 蜜桃视频成人 | 一区二区三区小视频 | 久久i| 日韩国产免费 | 欧美日韩精品一区 | 99热精品在线 | 国产精品免费观看 | 成人做爰9片免费看网站 | 欧美综合一区二区 | 色婷婷一区二区三区四区 | 中文字幕日韩一区 | 91成人免费观看 | 一级片在线视频 | 美女黄网 | 国产综合一区二区 | 久久久精品网 | 美日韩视频| 99re视频| 免费成人在线网站 | 日日综合 | 四虎永久在线精品免费一区二 | 性在线 | 婷婷中文在线 | 一区二区成人 | 亚洲一区久久 | 免费在线观看av网址 | 日韩精品一区二区三区 |