Java038——正则表达式

这篇具有很好参考价值的文章主要介绍了Java038——正则表达式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、认识正则表达式

正则表达式通常被用于判断语句中,用来检查某一字符串是否满足某一格式。正则表达式是含有一些具有特殊意义字符的字符串,这些特殊字符称为正则表达式的元字符。例如,“\d”表示数字 0~9 中的任何一个,“d”就是元字符。正则表达式中的元字符及其意义下所示。

元字符				正则表达式中的写法						意义		
. 							.							任意一个字符
\d							\\d							0~9 的任何一个数字
\D							\\D							任何一个非数字字符
\s							\\s							空白字符,如'\t''\n'
\S							\\S							非空白字符
\w							\\w							可用于标识符的字符,但不包括“$”
\W							\\W							不可用于标识符的字符
\p{Lower}					\\p{Lower}					小写字母 a~z
\p{Upper}					\\p{Upper}					大写字母 A~Z
\p{ASCI}					\\P{ASCI}					ASCI 字符
\p(Alpha}					\\p(Alpha}					字母字符
\p{Digit}					\\p{Digit}					十进制数字,即 0~9
\p{Alnum}					\\p{Alnum}					数字或字母字符
\p{Punct}					\\p{Punct}					标点符号: !"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
\p{Graph}					\\p{Graph}					可见字符:[\p{Alnum}\p{Punct}]
\p{Print}					\\p{Print}					可打印字符:[\p{Graph}\x20]
\p{Blank}					\\p{Blank}					空格或制表符:[\t]
\p{Cntrl}					\\p{Cntrl}					控制字符:[\x00-\x1Fx7F]

在正则表达式中,“.“代表任何一个字符,因此在正则表达式中如果想使用普通意义的点字符”.“必须使用转义字符”/

二、在正则表达式中方括号的作用

在正则表达式中,可以使用方括号括起若干个字符来表示一个元字符,该元字符可代表方括号中的任何一个字符。例如,reg =“[abc]4”,这样字符串 a4、b4、c4 都是和正则表达式匹配的字符串。方括号元字符还可以为其他格式。如:

   方括号表达式				说明
======================================================================================================================
	表示枚举				例如[abc]表示 a、b、c 其中任意一个字符;[gz]表示 g、z 其中任意一个字符
----------------------------------------------------------------------------------------------------------------------
	表示范围:-			例如[a-f]表示 a~f 范围内的任意字符;[\\u0041-\\u0056]表示十六进制字符 \u0041 到 \u0056 范围的字符。范围
						可以	和枚举结合使用,如[a-cx-z],表示 a~c、x~z 范围内的任意字符
----------------------------------------------------------------------------------------------------------------------
	表示求否:^			例如[^abc]表示非 a、b、c 的任意字符;[^a-f]表示不是 a~f 范围内的任意字符
----------------------------------------------------------------------------------------------------------------------
	表示“与”运算:&&		例如 [a-z&&[def]]是 a~z 和 [def] 的交集,表示 d、ef[a-z&&^bc]]是 a~z 范围内的所有字符,除 b 和 c 之外
						[ad-z] [a-z&&[m-p]]是 a~z 范围内的所有字符,除 m~p 范围之外的字符
----------------------------------------------------------------------------------------------------------------------
	表示“并”运算			并运算与前面的枚举类似。例如[a-d[m-p]]表示 [a-dm-p]

简单例子

[^456]: 代表 456之外的任何字符。
[a-r]: 代表 a~r 中的任何一个字母。
[a-zA-Z]: 可表示任意一个英文字母。
[a-e[g-z]]:代表 a~e 或 g~z 中的任何一个字母 (并运算)[a-o&&[def]]: 代表字母 d、e、f (交运算)[a-d&&[^bc]]: 代表字母 a、d (差运算)

三、在正则表达式中使用限定修饰符

在正则表达式中允许使用限定修饰符来限定元字符出现的次数。例如,“A*”代表 A 可在字符串中出现 0 次或多次。限定修饰符的用法如下 所示。

限定修饰符		   意义			示例
	?			0次或1A*			0次或多次		A*
	+			1次或多次		A+
	{n}			正好出现n次		A{2}
	{n,}		至少出现n次		A{3}	
	{n,m}		出现n~m次		A{26}

四、Java 正则表达式使用

  1. 导入 Java 正则表达式库:
    在代码中首先导入 java.util.regex 包,以便使用正则表达式相关的类和方法。
import java.util.regex.*;
  1. 实例:使用Java使用正则表达式判断字符串变量str以wang开头以5688结尾
package MyPackage;

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

public class TestDemo{
    public static void main(String[] args) {
        String str = "wang12345688";

        // 1、定义正则表达式
        String regex = "^wang.*5688$";

        // 2、编译正则表达式为 Pattern 对象
        Pattern pattern = Pattern.compile(regex);

        // 3、创建 Matcher 对象,用于进行匹配
        Matcher matcher = pattern.matcher(str);

        // 4、判断是否匹配成功
        if (matcher.matches()) {
            System.out.println("字符串匹配成功");
        } else {
            System.out.println("字符串匹配失败");
        }
    }
}

//运行结果
字符串匹配成功

推荐文章《Java正则表达式详解》

与君共享

👉👉👉👉👉最后,有兴趣的小伙伴可以点击下面链接,这里有我整理的完整Java学习博客内容,谢谢~ 🌹🌹🌹🌹🌹

《Java基础专栏完整学习》文章来源地址https://www.toymoban.com/news/detail-644837.html

到了这里,关于Java038——正则表达式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Java学习(二十二)--正则表达式

        正则表达式是处理文本的利器;     正则表达式,又称规则表达式,(Regular Expression,在代码中常简写为regex、regexp或RE)。它是一个强大的字符串处理工具,可以对字符串进行 查找、提取、分割、替换等操作 ,是一种可以用于 模式匹配和替换 的规范;     一个正则表

    2024年01月25日
    浏览(29)
  • Python学习笔记_基础篇(八)_正则表达式

    1.1. 简单介绍 正则表达式并不是Python的一部分。正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十分强大。得益于这一点,在提供了正则表达式的语言里,正则表达式的语法都是一样的,区别只

    2024年02月12日
    浏览(35)
  • 【Java从0到1学习】09 正则表达式

    在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。 正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、

    2024年02月11日
    浏览(48)
  • 从零开始学习 Java:简单易懂的入门指南之正则表达式(十五)

    在Java中,我们经常需要验证一些字符串,例如:年龄必须是2位的数字、用户名必须是8位长度而且只能包含大小写字母、数字等。正则表达式就是用来验证各种字符串的规则。它内部描述了一些规则,我们可以验证用户输入的字符串是否匹配这个规则。 先看一个不使用正则表

    2024年02月12日
    浏览(32)
  • Python学习笔记:正则表达式、逻辑运算符、lamda、二叉树遍历规则、类的判断

    序号 实例 说明 1 . 匹配任何字符(除换行符以外) 2 d 等效于[0-9],匹配数字 3 D 等效于[^0-9],匹配非数字 4 s 等效于[trnf],匹配空格字符 5 S 等效于[^trnf],匹配非空格字符 6 w 等效于[A-Za-z0-9],匹配单字字符 7 W 等效于[^A-Za-z0-9],匹配非单字字符 8 [ab]cdef 匹配acdef或bcd

    2024年02月11日
    浏览(51)
  • 老夫的正则表达式大成了,桀桀桀桀!!!【Python 正则表达式笔记】

    特殊字符 .^$?+*{}[]()| 为特殊字符,若想要使用字面值,必须使用 进行转义 字符类 [] [] 匹配包含在方括号中的任何字符。它也可以指定范围,例: [a-zA-Z0-9] 表示a到z,A到Z,0到9之间的任何一个字符 [u4e00-u9fa5] 匹配 Unicode 中文 [^x00-xff] 匹配双字节字符(包括中文) 在 [] 中

    2024年02月04日
    浏览(47)
  • Java 之正则表达式语法及常用正则表达式汇总

    正则表达式,又称规则表达式。(英语:Regular Expression,在代码中常简写为 regex、regexp 或 RE),计算机科学的一个概念。正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。 正则表达式是对字符串(包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称

    2024年02月09日
    浏览(56)
  • Python正则表达式之学习正则表达式三步曲

            正则表达式描述了一种字符串匹配的模式,可以用来检查一个串的有无某子串,或者做子串匹配替换,取出子串等操作。也可以说正则表达式就是字符串的匹配规则,也可以理解为是一种模糊匹配,匹配满足正则条件的字符串。         1、数据验证(eg:表单验

    2024年02月15日
    浏览(49)
  • 正则表达式笔记

    /你的正则表达式写在这里/ 1?        1出现0次或1次 1*        1出现0次或多次 1+        1出现1次或多次 1{2}        1出现了2次 1{2,3}        1出现了2到3次 1{2,}        1出现了2次及以上 (5555){1}        5555出现了1次 (dog|cat)        dog或者cat [a-zA-Z]   

    2024年02月10日
    浏览(35)
  • python正则表达式笔记2

    由 \\\'\\\' 和一个字符组成的特殊序列在以下列出。 如果普通字符不是ASCII数位或者ASCII字母,那么正则样式将匹配第二个字符。比如,$ 匹配字符 \\\'$\\\'. number 匹配数字代表的组合。每个括号是一个组合,组合从1开始编号。 比如 (.+) 1 匹配 \\\'the the\\\' 或者 \\\'55 55\\\', 但不会匹配 \\\'thethe\\\'

    2024年02月09日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包