用户名
Email
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
朋友圈
看朋友圈动态,了解ToB世界。
ToB门户
了解全球最新的ToB事件
博客
Blog
排行榜
Ranklist
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
导读
Guide
相册
Album
记录
Doing
帖子
本版
文章
帖子
ToB圈子
用户
免费入驻
产品入驻
解决方案入驻
公司入驻
案例入驻
登录
·
注册
只需一步,快速开始
账号登录
立即注册
找回密码
用户名
自动登录
找回密码
密码
登录
立即注册
首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
圈子
SAAS
IT评测·应用市场-qidao123.com技术社区
»
论坛
›
物联网
›
物联网
›
在一串字符串中Java使用正则匹配电话号码的方法 ...
在一串字符串中Java使用正则匹配电话号码的方法
魏晓东
论坛元老
|
2024-8-12 22:48:54
|
显示全部楼层
|
阅读模式
楼主
主题
1780
|
帖子
1780
|
积分
5340
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
x
1.使用正则表达式来匹配电话号码
在Java中,使用正则表达式匹配电话号码是一个常见的需求。电话号码的格式可能因国家/地区而异,但一个典型的格式可能是如许的:(123) 456-7890。在这个例子中,我将提供一个Java程序,该程序使用正则表达式来匹配这种格式的电话号码。
起首,我们需要相识电话号码的正则表达式。在这个例子中,我们将使用以下正则表达式:
regex复制代码
\(\d{3}\) \d{3}-\d{4}
复制代码
这个表达式的意思是:
\( 和 \) 匹配括号()。
\d{3} 匹配3个数字。
空格匹配空格字符。
\d{3}-\d{4} 匹配3个数字,一个连字符,然后是4个数字。
接下来,我们来看如安在Java代码中使用这个正则表达式来匹配电话号码:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberMatcher {
public static void main(String[] args) {
// 测试字符串
String text = "Here is a sample text with a phone number (123) 456-7890 in it.";
// 正则表达式
String regex = "\\(\\d{3}\\) \\d{3}-\\d{4}";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(regex);
// 创建 matcher 对象
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
System.out.println("Found a phone number: " + matcher.group());
} else {
System.out.println("No phone number found.");
}
}
}
复制代码
这段代码起首导入了必要的Pattern和Matcher类,然后界说了一个测试字符串和一个正则表达式。接着,它使用Pattern.compile()方法编译正则表达式,并使用matcher()方法创建Matcher对象。最后,使用find()方法查找匹配项,并使用group()方法输出找到的电话号码。
这段代码是一个完备的Java程序,可以直接运行,并测试正则表达式匹配电话号码的功能。通过修改测试字符串,我们可以测试不同的电话号码格式。
2.使用Java正则表达式匹配电话号码示例
以下是一些使用Java正则表达式匹配电话号码的例子。每个例子都包含了一个测试字符串和一个正则表达式,以及如何使用Pattern和Matcher类来查找和匹配电话号码。
2.1 例子 1:匹配尺度格式的电话号码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberMatcher {
public static void main(String[] args) {
// 测试字符串
String text = "Call me at (123) 456-7890 or visit my website.";
// 正则表达式
String regex = "\\(\\d{3}\\) \\d{3}-\\d{4}";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(regex);
// 创建 matcher 对象
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
System.out.println("Found a phone number: " + matcher.group());
} else {
System.out.println("No phone number found.");
}
}
}
复制代码
输出:
复制代码
Found a phone number: (123) 456-7890
复制代码
2.2 例子 2:匹配带有空格和括号的电话号码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberMatcher {
public static void main(String[] args) {
// 测试字符串
String text = "My phone number is ( 123 ) 456 - 7890. Please call me.";
// 正则表达式,允许空格
String regex = "\\(\\s*\\d{3}\\s*\\)\\s*\\d{3}-\\d{4}";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(regex);
// 创建 matcher 对象
Matcher matcher = pattern.matcher(text);
if (matcher.find()) {
System.out.println("Found a phone number: " + matcher.group());
} else {
System.out.println("No phone number found.");
}
}
}
复制代码
输出:
复制代码
Found a phone number: ( 123 ) 456 - 7890
复制代码
2.3 例子 3:匹配多种格式的电话号码
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class PhoneNumberMatcher {
public static void main(String[] args) {
// 测试字符串
String text = "You can reach me at (123) 456-7890 or 123.456.7890 or 123-456-7890.";
// 正则表达式,匹配多种格式
String regex = "\\(\\d{3}\\)\\s*\\d{3}-\\d{4}|\\d{3}[.-]\\d{3}[.-]\\d{4}|\\d{3}-\\d{3}-\\d{4}";
// 创建 Pattern 对象
Pattern pattern = Pattern.compile(regex);
// 创建 matcher 对象
Matcher matcher = pattern.matcher(text);
while (matcher.find()) {
System.out.println("Found a phone number: " + matcher.group());
}
}
}
复制代码
输出:
Found a phone number: (123) 456-7890
Found a phone number: 123.456.7890
Found a phone number: 123-456-7890
复制代码
这些例子展示了如何使用Java正则表达式来匹配不同格式的电话号码。我们可以根据需要调整正则表达式来匹配特定的电话号码格式。
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复
举报
0 个回复
倒序浏览
返回列表
快速回复
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
or
立即注册
本版积分规则
发表回复
回帖并转播
回帖后跳转到最后一页
发新帖
回复
魏晓东
论坛元老
这个人很懒什么都没写!
楼主热帖
基础常用dos命令
Vulnhub靶机-Al-Web-1
Unity技术手册 - Shader实现灵魂状态 ...
.NET主流的几款重量级 ORM框架 ...
云原生之旅 - 14)遵循 GitOps 实践的 ...
Java集合框架(三)-HashSet
vuluhub_jangow-01-1.0.1
Android studio连接MySQL并完成简单的 ...
2022年总结-博客篇
gis pro中将shp文件转为/导入地理数据 ...
标签云
AI
运维
CIO
存储
服务器
快速回复
返回顶部
返回列表