广州北大青鸟计算机职业培训学校
互联网技术培训、软件技术培训、大数据培训、云计算培训、数据分析培训信息网
当前位置:网站首页 > 软件教程 > Java技术 > 正文

惠州​Java正则表达式中的命名组是什么?_北大青鸟IT学校

作者:邓华发布时间:2021-04-19分类:Java技术浏览:809


导读:Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,​Java正则表达式中的命名组是什么?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

Java是现在非常主流的编程语言之一,很多人想转行学习IT,首选Java语言。那么,Java正则表达式中的命名组是什么?下面就让我们一起来看看惠州北大青鸟老师是怎么回答的。

我们可以在正则表达式中使用命名组。

我们可以命名一个组,然后使用他们的名字来引用参考组。

我们可以在替换文本中引用组名称,并使用组名称获取匹配的文本。

定义命名组的格式为

(?<groupName>pattern)

一对括号标记一个组。开始括号后面跟着一个?和放在尖括号中的组名称。

组名称只能包含字母和数字,且只能以字母开头。

以下正则表达式具有三个命名组。

areaCode

prefix

postPhoneNumber

正则表达式匹配10位数的电话号码。

(?<areaCode>\d{3})(?<prefix>\d{3})(?<postPhoneNumber>\d{4})

以下代码显示如何使用命名组。

String  replacementText = "(${areaCode}) ${prefix}-${postPhoneNumber}";

我们可以混合组号和组名。

上述正则表达式可以重写如下。

String  replacementText = "(${areaCode}) ${prefix}-$3";

以下代码显示如何在正则表达式中使用组名称以及如何在替换文本中使用名称。

import java.util.regex.Matcher; import java.util.regex.Pattern; public class Main {   public static void main(String[] args) {     String regex = "\(?<areaCode>\\d{3})(?<prefix>\\d{3})(?<postPhoneNumber>\\d{4})\";     String replacementText = "(${areaCode}) ${prefix}-$3";     String source = "1234567890 and 9876543210";     Pattern p = Pattern.compile(regex);     Matcher m = p.matcher(source);     String formattedSource = m.replaceAll(replacementText);     System.out.println("Text: " + source);     System.out.println("Formatted Text: " + formattedSource);   } }

上面的代码生成以下结果。

Text:1234567890 and 9876543210

     Formatted Text:(123)456-7890 and(987)654-3210

Java12.jpg

Java


标签:惠州计算机JAVA软件开发惠州计算机Java软件开发惠州计算机JAVA培训惠州计算机JAVA软件开发学校惠州计算机Java软件开发培训JAVAJava软件开发北大青鸟IT计算机学校北大青鸟IT软件学校北大青鸟IT学校


Java技术排行
标签列表
网站分类
文章归档
最近发表