Java编程中通用的正则表达式(一)

news2024/11/18 15:42:53

        正则表达式(Regular Expression,简称RegEx),又称常规表示法、正则表示、正规表示式、规则表达式、常式、表达式等,是计算机科学中的一个概念。正则表达式是用于描述某种特定模式的字符序列,特别是用来匹配、替换或验证字符串。在很多程序设计语言中都有对正则表达式的支持,常用于字符串操作、输入验证、文本处理等方面。

1、判断字符串是否是邮箱

        在Java中可以使用正则表达式来判断一个字符串是否是邮箱。以下为示例代码:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class EmailValidator {

    private static final String EMAIL_REGEX = "^[\\w.-]+@([\\w\\-]+\\.)+[A-Z]{2,4}$";

    public static boolean isValidEmail(String email) {
        Pattern pattern = Pattern.compile(EMAIL_REGEX, Pattern.CASE_INSENSITIVE);
        Matcher matcher = pattern.matcher(email);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String email1 = "test@example.com";
        String email2 = "test.example@com";
        System.out.println(email1 + " is valid? " + isValidEmail(email1));
        System.out.println(email2 + " is valid? " + isValidEmail(email2));
    }
}

输出结果为:

test@example.com is valid? true
test.example@com is valid? false

2、判断字符串是否是手机号

public boolean isPhoneNumber(String str) {
    String pattern = "^1[3-9]\\d{9}$"; // 手机号正则表达式
    return str.matches(pattern);
}

        这个方法接收一个字符串参数,并返回一个布尔值,如果字符串符合手机号的格式,则返回 true;否则返回 false。其中,^1[3-9]\d{9}$ 是一个表示手机号的正则表达式,其中:

  • ^ 表示匹配字符串的开头
  • 1 表示手机号的第一位为 1
  • [3-9] 表示第二位为 3-9 中的任意一个数字
  • \d{9} 表示后面连续的 9 个数字
  • $ 表示匹配字符串的结尾

该正则表达式可以匹配国内主流的手机号格式,包括以 13、14、15、16、17、18、19 开头的手机号码。

3、判断字符串是否是字母数字

        可以使用Java中的正则表达式匹配函数 matches(),配合正则表达式 [a-zA-Z0-9]+ 来判断字符串是否仅由字母和数字组成。

示例代码:

String str = "Abc123";
if(str.matches("[a-zA-Z0-9]+")){
    System.out.println("该字符串仅由字母和数字组成");
}else{
    System.out.println("该字符串不仅由字母和数字组成");
}

        上述代码中,matches()函数接收一个正则表达式作为参数,该正则表达式中包含 [a-zA-Z0-9]+,表示匹配由字母和数字组成的字符串,如果匹配成功,则返回 true,否则返回 false。

4、判断字符串是否是链接

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class LinkChecker {
    public static boolean isLink(String str) {
        Pattern pattern = Pattern.compile("^(http|https)://[a-zA-Z0-9\\-\\.]+\\.[a-zA-Z]{2,3}(/\\S*)?$");
        Matcher matcher = pattern.matcher(str);
        return matcher.matches();
    }

    public static void main(String[] args) {
        String link1 = "https://www.google.com/";
        String link2 = "www.google.com";
        String link3 = "https://www.google.com/search?q=java";
        
        System.out.println(isLink(link1));  // true
        System.out.println(isLink(link2));  // false
        System.out.println(isLink(link3));  // true
    }
}
 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1294884.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【技巧】RAR压缩文件如何解压?

RAR是一种文件压缩与归档的专利文件格式,很多时候在工作中都会使用到。既然是压缩格式,我们就需要解压才能得到里面的文件,对于电脑小白来说,可能不知道如何解压RAR文件,下面小编来分享一下。 解压压缩文件&#xff0…

57、postgresql 查询流程

在这里,我们简要概述了查询必须经过的阶段才能获得结果。 必须建立从应用程序到 PostgreSQL 服务器的连接。应用程序将查询传输到服务器,并等待接收服务器发回的结果。 解析器阶段检查应用程序传输的查询语法是否正确,并创建查询树。 重写系…

数字化和数智化一字之差,究竟有何异同点?

在2023杭州云栖大会的一展台内,桌子上放着一颗番茄和一个蛋糕,一旁的机器人手臂融入“通义千问”大模型技术后,变得会“思考”:不仅能描述“看”到了什么,还能确认抓取的是番茄而不是蛋糕。 “传统的机械臂通常都只能基…

Python-滑雪大冒险【附源码】

滑雪大冒险 《滑雪大冒险》是一款充满趣味性和挑战性的休闲竞技游戏,在游戏中,玩家将扮演一位勇敢的滑雪者,在雪山上展示他们的滑雪技巧,游戏采用2D图形界面,以第三人称视角呈现 运行效果:用方向键及方向键…

自定义按钮组/buttonGroup

样式结果 定义html <view class"button-group"><button :class"{ active: selectedButton index }"v-for"(button, index) in buttons" :key"index" click"handleButtonClick(index)">{{ button }}</button…

5G基站行业节能降耗 解决方案

截至2023年10月&#xff0c;我国5G基站总数达321.5万个&#xff0c;占全国通信基站总数的28.1%。然而&#xff0c;随着5G基站数量的快速增长&#xff0c;基站的能耗问题也逐渐日益凸显&#xff0c;基站的用电给运营商带来了巨大的电费开支压力&#xff0c;降低5G基站的能耗成为…

[Linux] LAMP架构

一、LAMP架构架构的概述 LAMP 架构是一种流行的 Web 应用程序架构&#xff0c;它的名称是由四个主要组件的首字母组成的&#xff1a; Linux&#xff08;操作系统&#xff09;&#xff1a; 作为操作系统&#xff0c;Linux 提供了服务器的基础。它负责处理硬件资源、文件系统管理…

【JNPF】好用、高性价比的低代码开发平台

目录 1.JNPF介绍 突出优势 2.JNPF的开放性与扩展性 平台的开放性&#xff1a; 平台高拓展性 在快速发展的软件开发领域&#xff0c;低代码平台已经成为了一种重要的开发方法&#xff0c;它使非专业开发人员也能够参与到软件开发中去&#xff0c;大大加速了软件开发的效率。…

积德无需人见,行善自有天知

人的一生中&#xff0c;多多少少都会做一些善事。有人是出于善心&#xff0c;有人是出于怜悯&#xff1b;有人是满足自己的虚荣心&#xff0c;有人是做给旁人看&#xff1b;有人是一时兴起&#xff0c;有人能坚持一辈子&#xff1b;有人捐助周围需要帮助的人&#xff0c;有人建…

python3(超详细-保姆级教程)

第一章&#xff1a; Python 是一个高层次的结合了解释性、编译性、互动性和面向对象的脚本语言。 Python 的设计具有很强的可读性&#xff0c;相比其他语言经常使用英文关键字&#xff0c;其他语言的一些标点符号&#xff0c;它具有比其他语言更有特色语法结构。 Python 是一…

【flink番外篇】1、flink的23种常用算子介绍及详细示例(1)- map、flatmap和filter

Flink 系列文章 一、Flink 专栏 Flink 专栏系统介绍某一知识点&#xff0c;并辅以具体的示例进行说明。 1、Flink 部署系列 本部分介绍Flink的部署、配置相关基础内容。 2、Flink基础系列 本部分介绍Flink 的基础部分&#xff0c;比如术语、架构、编程模型、编程指南、基本的…

阿里云通义千问720亿参数模型开源,适配企业级、科研级高性能应用

12月1日&#xff0c;阿里云举办通义千问发布会&#xff0c;开源通义千问720亿参数模型Qwen-72B。Qwen-72B在10个权威基准测评创下开源模型最优成绩&#xff0c;成为业界最强开源大模型&#xff0c;性能超越开源标杆Llama 2-70B和大部分商用闭源模型。未来&#xff0c;企业级、科…

基于Tasmota NodeMCU和安信可AI-Thinker RD-03毫米波雷达人体检测

1&#xff1a;下载VSCODE&#xff0c;安装PlatformIO插件 2&#xff1a;编译固件&#xff0c;选择Tasmota CN 3&#xff1a;下载Tasmotizer选择对应串口烧录附件 4&#xff1a;选择Tasmota 设置 5&#xff1a;Tasmota设置MQTT服务器相关参数&#xff0c;在console口中输入命…

快速在VMware虚拟机上运行Kali Linux(保姆级教程)

本期将演示如何在VMware虚拟机上快速、轻松地安装Kali Linux。Kali Linux是一款专为渗透测试和网络安全而设计的操作系统&#xff0c;拥有很多强大的工具和功能。 在运行任何虚拟机之前&#xff0c;一定要先确保已经打开主板BIOS上的虚拟化支持。 下载VMware 接着来到vmware的…

如何提升软文推广效果?这三招大部分人都不知道

内容为王的时代下不少企业都把软文推广作为宣传的主要手段&#xff0c;但不是每一次软文推广的效果都会如意。今天媒介盒子就来和大家分享提升软文推广效果的小诀窍&#xff0c;让企业宣传事半功倍。 一、以质取胜 虽然软文营销是一个长期积累的过程&#xff0c;但不代表数量决…

无人机高空巡查+智能视频监控技术,打造森林防火智慧方案

随着冬季的到来&#xff0c;森林防火的警钟再次敲响&#xff0c;由于森林面积广袤&#xff0c;地形复杂&#xff0c;且人员稀少&#xff0c;一旦发生火灾&#xff0c;人员无法及时发现&#xff0c;稍有疏忽就会酿成不可挽救的大祸。无人机高空巡查智能视频监控是一种非常有效的…

干货:软文推广中的关键词类别有哪些?

软文推广如果想要增加文案曝光率&#xff0c;seo是其主要的传播方式之一&#xff0c;因而好的关键词十分重要&#xff0c;这里的关键词指得是针对搜索引擎而言&#xff0c;由用户输入搜索引擎框中的提示性文字&#xff0c;只要关键词设置得好&#xff0c;软文就能通过搜索引擎精…

JVM 内存回收算法

文章目录 JVM 内存回收算法有哪些&#xff1a;一、分代收集1.分代收集理论2.垃圾收集 二、垃圾收集算法1. 标记-清除算法2. 复制算法3. 标记-整理算法 JVM就是Java虚拟机&#xff0c;JVM的内回收对其原理的认识也是很有必要的&#xff0c;当底层的系统出现内存溢出或者内存泄漏…

Java编程中通用的正则表达式(二)

正则表达式&#xff0c;又称正则式、规则表达式、正规表达式、正则模式或简称正则&#xff0c;是一种用来匹配字符串的工具。它是一种字符串模式的表示方法&#xff0c;可以用来检索、替换和验证文本。正则表达式是一个字符串&#xff0c;它描述了一些字符的组合&#xff0c;这…

vue计算排列布局

1、效果 2、html <div class"databubble"><div ref"content"><divv-for"(item, index) in databubble"ref"contentPage":key"index"class"contentPage"><div><span class"title&…