当前位置: 首页 > 知识库问答 >
问题:

匹配正好包含10位数字的字符串的正则表达式

邓德惠
2023-03-14

我将如何编写一个正则表达式(Python或Java)来匹配包含10位数字(0-9)的字符串。我不在乎它是否包含任何其他字符,并且10位数字不必是连续的。例如,我想跟随字符串进行匹配:“2fdf675

共有3个答案

赫连棋
2023-03-14

这里有一个正则表达式和java代码:

if (str.matches("(\\D*\\d){10}\\D*")) // FYI ^ and $ are implied in java

但在java中,有一种更容易理解的方法:

if (str.replaceAll("\\D", "").length() == 10)

这只会删除所有非数字,并检查剩余部分的长度。

谈炳
2023-03-14

如果你不试图把所有东西都塞进一个正则表达式,可能会更清楚。我不懂Java或Python,但下面是您可以用Perl做的事情:

$str =~ s/\D//g;  # Remove all non-digit characters
if ( length($str) == 10 ) ... # Must be left with 10 characters.
曹原
2023-03-14

只需尝试:

^\D*(?:\d\D*){10}$
 类似资料:
  • 问题内容: 我想匹配任何不包含字符串“ DontMatchThis”的字符串。 什么是正则表达式? 问题答案: 尝试这个:

  • 本文向大家介绍Python正则表达式匹配字符串中的数字,包括了Python正则表达式匹配字符串中的数字的使用技巧和注意事项,需要的朋友参考一下 1.使用“\d+”匹配全数字 代码: 结果: ['479', '501', '870', '209', '213', '650'] 但是上述这种方式也会引入非纯数据,例子如下: 结果: ['479', '501', '870', '209', '213',

  • 我需要一个与字符串中的子字符串匹配的正则表达式, 匹配的字符串必须是/*exa*/而不是/*exa*/mple*/。 它也不能包含。 我试过这些正则表达式:

  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

  • 问题内容: 我在用Python将字符串中的数字匹配时遇到麻烦。尽管应该明确匹配,但甚至不匹配 或仅匹配。我的监督在哪里? 问题答案: 阅读文档:http : //docs.python.org/2/library/re.html#re.match 如果在零个或多个字符 开头 的 字符串 您要使用(或)

  • 我无法找到一个合适的正则表达式来匹配任何不以某种条件开头和结尾的字符串。 但用这个我不能实现面具‘。正则表达式结尾的字符。 多谢了。