java正则表达式

在正则表达式之前,我们首先要知道,在java中,哪些字符不能够直接用,需要用转义字符才能表达出出他原本的意思。例如,如果要让字符串里有\n,那么我们
当然,以下是 Java 字符串和正则表达式中常见的转义字符的总结:

Java 字符串中的转义字符

要表示一个\ ,那么就需要在\前再加一个转义字符\,最终变成\\ (以页面显示为准,要显示出两个反斜杠,csdn也需要在后台打出四个反斜杠)
要表示一个’ ,那么就需要在’前加一个转义字符\,最终变成\’
要表示一个’’ ,那么就需要在’‘前加一个转义字符\,最终变成\’’
\n ,要写成\\n
\t ,要写成\\t
\r,要写成\\r

匹配数字

匹配一个数字

如果你只是想匹配单个数字(0-9),可以使用:

String regex = "\\d";

匹配一个或多个数字

如果你想匹配一个或多个数字(例如,整数),可以使用:

String regex = "\\d+";

说明:\d+:表示一个或多个数字字符。+ 是一个量词,表示前面的模式可以出现一次或多次。

匹配指定数量的数字

如果你想匹配一个特定数量的数字(例如,5位数字),可以使用:

String regex = "\\d{5}";

说明:\d{5}:表示恰好 5 个数字字符。{5} 是一个量词,表示前面的模式出现恰好 5 次。

匹配数字范围

如果你想匹配一个数字范围(例如,1 到 1000),可以使用:

String regex = "([1-9]|[1-9]\\d|[1-9]\\d{2}|1000)";

说明:
竖线|代表逻辑“或”操作。它用于在两个模式之间选择。
[1-9]:匹配 1 到 9。
[1-9]\\d:匹配 10 到 99。
[1-9]\\d{2}:匹配 100 到 999。
1000:匹配 1000。

总结:

正则表达式一般来说分为两个部分,量词和字符

量词

星号(*

  • 前面的模式的零或多次重复。
  • 示例:a* 匹配 "a", "aa", "aaa", …

加号(+

  • 前面的模式的一次或多次重复。
  • 示例:a+ 匹配 "a", "aa", "aaa", …

问号(?

  • 前面的模式的零次或一次重复。
  • 示例:a? 匹配 ""(零个 a)或 "a"

大括号({ }

  • 定义精确重复次数。例如,{3} 匹配前面的模式三次,{1,3} 匹配一次到三次。
  • 示例:a{2,4} 匹配两到四个 a

以下的都是不量词

圆括号(( )

  • 定义一个捕获组。捕获组可以匹配子模式,并且可以引用后来自动编号的组。
  • 示例:(bar){2} 匹配 "foobarbar"

中括号([ ]

  • 定义一个字符集。字符集匹配括号内列出的任何一个字符。
  • 字符集可以使用范围写法:例如,[abc] 匹配 "a", "b", "c" 中的任意一个字符。
  • 可以使用补集:[^abc] 匹配任何一个不在字符集中的字符。

竖线(|

  • 代表逻辑“或”操作。它用于在两个模式之间选择。
  • 示例:(foo|bar|baz) 匹配 "foo", "bar", 或 "baz"

字符

特殊字符和序列

字符或序列说明
\b匹配单词边界。
\B匹配非单词边界。
\d匹配一个数字(等价于 [0-9])。
\D匹配一个非数字字符(等价于 [^0-9])。
\s匹配空白字符(如空格、换行符等)。
\S匹配一个非空白字符(等价于 [^ \f\n\r\t\v])。
\w匹配一个字母数字字符(等价于 [A-Za-z0-9_])。
\W匹配一个非字母数字字符(等价于 [^A-Za-z0-9_])。
^匹配输入字符串的开始。
$匹配输入字符串的结束或行的结束。
.匹配任意字符,除了换行符。

这些是正则表达式中一些基本和常用的字符,但是正则表达式的功能远远超出这些基本字符,你可以通过它们组合成复杂的模式。正则表达式的完整文档包括了许多其他特性,如向前断言、反向引用、子模式命名等。

记住,不同的编程语言对正则表达式可能有不同的实现细节,所以有时候你可能需要使用某种特定语言的正则表达式语法。

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值