当前位置: 首页 > news >正文

Java正则表达式语法

1093b63f974441e8b6895525981fa68a.jpgJava正则表达式的语法与示例

 

 

| |目录

1匹配验证-验证Email是否正确

2在字符串中查询字符或者字符串

3常用正则表达式

4正则表达式语法

1匹配验证-验证Email是否正确

 

public static void main(String[] args) {

    // 要验证的字符串

    String str = "service@xsoftlab.net";

    // 邮箱验证规则

    String regEx = "[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\\.){1,3}[a-zA-z\\-]{1,}";

    // 编译正则表达式

    Pattern pattern = Pattern.compile(regEx);

    // 忽略大小写的写法

    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);

    Matcher matcher = pattern.matcher(str);

    // 字符串是否与正则表达式相匹配

    boolean rs = matcher.matches();

    System.out.println(rs);

}

2在字符串中查询字符或者字符串

 

public static void main(String[] args) {

    // 要验证的字符串

    String str = "baike.xsoftlab.net";

    // 正则表达式规则

    String regEx = "baike.*";

    // 编译正则表达式

    Pattern pattern = Pattern.compile(regEx);

    // 忽略大小写的写法

    // Pattern pat = Pattern.compile(regEx, Pattern.CASE_INSENSITIVE);

    Matcher matcher = pattern.matcher(str);

    // 查找字符串中是否有匹配正则表达式的字符/字符串

    boolean rs = matcher.find();

    System.out.println(rs);

}

3常用正则表达式

规则 正则表达式语法  

一个或多个汉字 ^[\u0391-\uFFE5]+$ 

邮政编码 ^[1-9]\d{5}$

QQ号码 ^[1-9]\d{4,10}$ 

邮箱 ^[a-zA-Z_]{1,}[0-9]{0,}@(([a-zA-z0-9]-*){1,}\.){1,3}[a-zA-z\-]{1,}$ 

用户名(字母开头 + 数字/字母/下划线) ^[A-Za-z][A-Za-z1-9_-]+$

手机号码 ^1[3|4|5|8][0-9]\d{8}$ 

URL ^((http|https)://)?([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$ 

18位身份证号 ^(\d{6})(18|19|20)?(\d{2})([01]\d)([0123]\d)(\d{3})(\d|X|x)?$

 

 

4正则表达式语法

元字符

 

描述

 

\

 

将下一个字符标记符、或一个向后引用、或一个八进制转义符。例如,“\\n”匹配\n。“\n”匹配换行符。序列“\\”匹配“\”而“\(”则匹配“(”。即相当于多种编程语言中都有的“转义字符”的概念。

 

^

 

匹配输入字符串的开始位置。如果设置了RegExp对象的Multiline属性,^也匹配“\n”或“\r”之后的位置。

 

$

 

匹配输入字符串的结束位置。如果设置了RegExp对象的Multiline属性,$也匹配“\n”或“\r”之前的位置。

 

*

 

匹配前面的子表达式任意次。例如,zo*能匹配“z”,“zo”以及“zoo”。*等价于{0,}。

 

+

 

匹配前面的子表达式一次或多次(大于等于1次)。例如,“zo+”能匹配“zo”以及“zoo”,但不能匹配“z”。+等价于

http://www.lryc.cn/news/44795.html

相关文章:

  • 【2023-3-29】JavaScript使用promise顺序调用函数并抛出异常
  • Python实现GWO智能灰狼优化算法优化随机森林分类模型(RandomForestClassifier算法)项目实战
  • 从redis到epoll到mmap
  • STM32CubeMX快速构造工程模板(一)
  • Java Web中的ServletContext对象
  • 回归预测 | MATLAB实现PSO-RF粒子群算法优化随机森林多输入单输出回归预测
  • 在小公司工作3年,从事软件测试5年了,才发现自己还是处于“初级“水平,是不是该放弃....
  • 基于 OpenCV 与 Java 两个语言版本实现获取某一图片特定区域的颜色对比度
  • Book:实战Java高并发程序设计(第二版)
  • LeetCode 831. Masking Personal Information【字符串,正则表达式】中等
  • 递增三元组
  • java源码阅读 - TreeSet
  • 写毕业论文经验贴
  • 2.7 进程退出、孤儿进程、僵尸进程+2.8 wait函数+2.9 waitpid函数
  • 【新2023Q2模拟题JAVA】华为OD机试 - 预订酒店
  • 一个完整的渗透学习路线是怎样的?如何成为安全渗透工程师?
  • 刷完这60个标准库模块,成为Python骨灰级玩家
  • EasyExcel的简单使用(easyExcel和poi)
  • 命名空间 namespace
  • 我能“C”——初阶指针(上)
  • Android高级工程师工资为何让人艳羡不已
  • 什么猫猫最受欢迎?Python采集猫咪交易数据
  • 使用Nextcloud搭建私人云盘,并内网穿透实现公网远程访问
  • 行业盛会|2023中国(东莞)国际测量控制及仪器仪表展览会
  • redis集群 服务器重启测试
  • Diffusion的unet中用到的AttentionBlock详解
  • ElasticSearch索引文档写入和近实时搜索
  • 【C语言蓝桥杯每日一题】——等差数列
  • EM7电磁铁的技术参数
  • 选择很重要,骑友,怎么挑选骑行装备?