如何使用正则表达式匹配所有数字字符和一些单个字符

Posted

技术标签:

【中文标题】如何使用正则表达式匹配所有数字字符和一些单个字符【英文标题】:How to match all numerical characters and some single characters using regex 【发布时间】:2014-01-24 00:33:42 【问题描述】:

如何使用正则表达式匹配字符串中的所有数字以及特定字符?到目前为止我有这个

if (!s.matches("[0-9]+")) return false;

我不太了解正则表达式,但这匹配 0-9 的所有字符,现在我需要能够匹配其他特定字符,例如“/”、“:”、“$”

【问题讨论】:

把它们放在字符类中。 【参考方案1】:

您可以通过在character class 中包含这些符号来使用此正则表达式:

s.matches("[0-9$/:]+")

Read more about character class

【讨论】:

【参考方案2】:

您可以将需要匹配的其他字符添加到字符组的末尾,如下所示:

if (!s.matches("[0-9/:$]+")) return false;

你需要注意几件事:

如果^在字符中,则不能是组中的第一个 如果-在字符中,它必须是组中的最后一个 如果 ] 在字符中,则需要对正则表达式和 Java 进行转义,例如[\\]] 如果 \ 在字符中,则需要对正则表达式和 Java 进行转义,例如[\\\\]

【讨论】:

【参考方案3】:

正则表达式:

String regex = "\\d/:$+";

【讨论】:

以上是关于如何使用正则表达式匹配所有数字字符和一些单个字符的主要内容,如果未能解决你的问题,请参考以下文章

正则表达式如何匹配空值?

Java提取文本文档中的所有网址(小案例介绍正则基础知识)

D21_1.1_正则表达式_单个字符匹配

正则表达式学习

正则表达式

正则表达式匹配一个或多个字母或数字包围的所有单个下划线