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

regex:查找所有至少包含3个数字字符并且它们之间至少有一个空格的字符串,怎么做?

戚勇
2023-03-14
abcdefghijk9lmn8 - no match
abcdefghijklmn987 - no match
abcdefg9hijklmn87 - match
abcdefg9hijkl8mn7 - match

你能帮我拿那个regex吗?

共有1个答案

锺离声
2023-03-14

您可以将此regex与2个Lookahead一起使用:

^(?=(?:[a-zA-Z]*\d){3})(?=.*\d[a-zA-Z]+\d)[0-9A-Za-z]{12,}$

RegEx演示

  • (?=(?:[a-zA-Z]*\d){3})-向前看,在输入中至少断言3个数字
  • (?=.*\d[a-zA-Z]+\d)-查看以断言至少有2个数字之间有字母表
 类似资料:
  • 我有这个正则表达式只允许字母数字字符。 如何检查字符串是否至少包含3个字母字符。 我当前的正则表达式, 我想强制执行字符串以确保至少有3个连续的字母字符;

  • 问题内容: 我正在尝试查看字符串是否至少包含数字或小写或大写。 我写了这样的东西: 但是我不明白为什么我不能使组合达到36。它们一直保持为0。我在做什么错? 问题答案: 您可以改用Pattern,我认为“ matches”方法会查找整个字符串以匹配正则表达式。 试试下面的代码:

  • 我需要这样一种验证,即我的字符串必须至少包含一个Unicode字母。将评估角色的角色。isLetter()为true。 比如说我要 我知道我可以使用角色循环。isLetter(),但我只是不想这么做。 这和这个完全不同,因为它只检查英文字母,但在我的例子中是一个Unicode字母。这根本不一样。

  • 我希望有一个用于密码匹配的regex,以确保密码包含: null 其他一些问题可以解决一些明确字母的脓肿问题。正如您在我接受的答案中所看到的,regex与我想要的并不接近。

  • 我的字符串可以包含任何其他字符,但如果它至少包含一个数字,我希望从数组中获取这些字符串的索引。

  • 我想使用正则表达式来验证名称。名称必须包含名、中间名、姓氏(不一定全部)。但我还想设置一个条件,即名称必须至少包含四个字符。我在这里找到了用于验证全名的正则表达式Java regex to validate full name…,并在这里找到用于检查字符串中是否至少有三个字符(字母)的正则表达式regex,以检查是否至少有3个字符。但我不确定如何将这两者结合起来以获得期望的结果。请帮助我实现所需的