正则表达式

这篇博客介绍了正则表达式的基本用法,包括如何表示可能带有负号的数字、匹配一个或多个之前的表达式、处理电话号码格式等。通过实例解析了正则表达式的分组、或操作和非单词字符的匹配。还提到了在实际应用中如何使用正则表达式进行字符串替换和查找。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

要找一个数字,它可能有一个负号在最前面,那你就写一个负号加上一个问号,就像这样:

-?

要表示“一个或多个之前的表达式”,应该使用 +。所以,如果要表示“可能有一个负号,后面跟着一位或多位数字”,可以这样:

-?\\d+

+911 应该用(-|\\+)?\\d+表示,“可能以一个加号或减号开头”。在正则表达式中,用括号将表达式进行分组,用竖线 | 表示或操作。这个正则表达式表示字符串的起始字符可能是一个 -+,或者二者都没有(因为后面跟着 ? 修饰符)。因为字符 + 在正则表达式中有特殊的意义,所以必须使用 \\ 将其转义,使之成为表达式中的一个普通字符。

(-|\\+)?

\\W表示非单词字符,如果W小写,\\w,则表示一个单词字符。

n\\W+ 表示以n及n以后的非单词字符作为划分,when 变成whe,

s.replaceFirst("f\\w+", "located") //替换以f开头的单词
s.replaceAll("shrubbery|tree|herring","banana")//替换这三个单词

 

应该非常清楚地意识到,表达式 X 通常必须要用圆括号括起来,以便它能够按照我们期望的效果去执行。例如:

abc+

看起来它似乎应该匹配1个或多个abc序列,如果我们把它应用于输入字符串abcabcabc,则实际上会获得3个匹配。然而,这个表达式实际上表示的是:匹配ab,后面跟随1个或多个c。要表明匹配1个或多个完整的字符串abc,我们必须这样表示:

(abc)+

教程链接:

正则表达式 – 简介 | 菜鸟教程正则表达式 - 简介 除非您以前使用过正则表达式,否则您可能不熟悉一些术语。但是,毫无疑问,您已经使用过不涉及脚本的某些正则表达式概念。 例如,您很可能使用 ? 和 * 通配符来查找硬盘上的文件。? 通配符匹配文件名中的 0 个或 1 个字符,而 * 通配符匹配零个或多个字符。像 data(\w)?\.dat 这样的模式将查找下列文件: data.dat data1.dat data2.dat datax.dat dataN.dat..https://www.runoob.com/regexp/regexp-intro.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值