首页  >  文章  >  Java  >  java正则表达式语法有哪些

java正则表达式语法有哪些

小老鼠
小老鼠原创
2023-12-25 15:35:02885浏览

java正则表达式的基本语法有元字符、预定义模式、字符类、数量词的修饰符、转义、分组、非捕获分组、前瞻断言、命名捕获组、后向引用等。详细介绍:1、元字符:“.”:匹配任何单个字符(除了换行符);“^”:匹配输入字符串的开始位置;“$”:匹配输入字符串的结束位置;“*”:匹配前面的子表达式零次或多次;“+”:匹配前面的子表达式一次或多次;“?”:匹配前面的子表达式零次或一次等等。

java正则表达式语法有哪些

本教程操作系统:windows10系统、Dell G3电脑。

Java正则表达式(Regular Expression)是一种强大的文本处理工具,它使用特定的模式来匹配、查找或操作文本。以下是Java正则表达式的一些基本语法:

  1. 元字符:

    • .:匹配任何单个字符(除了换行符)。
    • ^:匹配输入字符串的开始位置。
    • $:匹配输入字符串的结束位置。
    • *:匹配前面的子表达式零次或多次。
    • +:匹配前面的子表达式一次或多次。
    • ?:匹配前面的子表达式零次或一次。
    • {n}:n是一个非负整数。匹配确定的n次。
    • {n,}:n是一个非负整数。至少匹配n次。
    • {n,m}:m和n均为非负整数,其中n <= m。最少匹配n次且最多匹配m次。
    • d:匹配一个数字字符。等价于[0-9]。
    • D:匹配一个非数字字符。等价于[^0-9]。
    • s:匹配任何空白字符,包括空格、制表符、换页符等等。等价于[fnrtv]。
    • S:匹配任何非空白字符。等价于[^fnrtv]。
    • w:匹配包括下划线的任何字母、数字或下划线字符。等价于'[A-Za-z0-9_]'。
    • W:匹配任何非单词字符。等价于'[^A-Za-z0-9_]'。
  2. 预定义模式:

    • ^$:空行(仅由空白字符组成)。
    • .:任意单个字符(除了换行符)。
    • n:换行符。
    • r:回车符。
    • t:制表符。
  3. 字符类:

    • []:字符集合,如[abc]会匹配a、b或c中的任意一个字符。
    • [^]:否定字符集合,如[^abc]会匹配除a、b、c外的任意一个字符。
  4. 数量词的修饰符:

    • ?:前一个字符或子表达式出现0次或1次。
    • *:前一个字符或子表达式出现0次或多次。
    • +:前一个字符或子表达式出现1次或多次。
    • {n}:n是一个非负整数,前一个字符或子表达式恰好出现n次。
    • {n,}:n是一个非负整数,前一个字符或子表达式至少出现n次。
    • {n,m}:m和n均为非负整数,其中n <= m,前一个字符或子表达式至少出现n次且至多出现m次。
  5. 转义:使用反斜杠()对特殊字符进行转义,例如.表示匹配实际的点字符.而不是特殊字符.。

  6. 分组:使用圆括号进行分组,例如(ab)*表示匹配"ab"零次或多次。

  7. 非捕获分组:使用圆括号并在前面加上一个问号来实现非捕获分组,例如(?:ab)*表示匹配"ab"零次或多次,但不捕获分组内容。

  8. 前瞻断言:使用(?=...)和(?!...)进行前瞻断言,例如(?=abc)表示必须紧跟在后面的字符串是"abc",而(?!abc)表示紧跟在后面的字符串不能是"abc"。

  9. 命名捕获组:使用(?...)定义一个命名捕获组,例如(?202[0-9]{2})表示匹配2020到2029之间的年份并将其捕获为一个名为"year"的组。

  10. 后向引用:使用n(其中n是一个正整数)进行后向引用,引用第n个捕获组的匹配内容,例如在模式字符串中连续出现两次的相同字符可以用后向引用来表示,例如在模式字符串中连续出现两次的相同字符可以用后向引用来表示,例如在模式字符串中连续出现两次的相同字符可以用后向引用来

以上是java正则表达式语法有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn