要找一个数字,它可能有一个负号在最前面,那你就写一个负号加上一个问号,就像这样:
-?
要表示“一个或多个之前的表达式”,应该使用 +。所以,如果要表示“可能有一个负号,后面跟着一位或多位数字”,可以这样:
-?\\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)+
教程链接:
这篇博客介绍了正则表达式的基本用法,包括如何表示可能带有负号的数字、匹配一个或多个之前的表达式、处理电话号码格式等。通过实例解析了正则表达式的分组、或操作和非单词字符的匹配。还提到了在实际应用中如何使用正则表达式进行字符串替换和查找。
1032

被折叠的 条评论
为什么被折叠?



