当前位置: 首页 > 面试题库 >

带点数字的正则表达式模式

梁兴修
2023-03-14
问题内容

我需要一个正则表达式

那么任何数字。并再次编号和。

所以这是有效的

1.3.164.1.2583.15.46
546.598.856.1.68.268.695.5955565

5..........
...56.5656

无效

我尝试了以下模式:

pattern = "[0-9](\\.[0-9]?*)?*";
pattern = "[0-9](\\.[0-9]?*)?$";
pattern = "[^0-9\\.]";

但这些都不满足我的要求。请帮忙?

我现有的代码是

String PATTERN="\\d+(\\.\\d+)*";
@Override
public void insertString(int arg0, String arg1, AttributeSet arg2)
{

    if(!arg1.matches(this.PATTERN))
        return;

    super.insertString(arg0, arg1, arg2);
}

问题答案:

这样的事情应该起作用:

(\\d+\\.?)+

编辑

是的,不从该描述,如果最终清除.被允许(假定一个初始是 )。

如果不:

(\\d+\\.?)*\\d+ 或者 \\d+(\\.\\d+)*(如果看起来更合乎逻辑)

测试

for (String test : asList("1.3.164.1.2583.15.46",
    "546.598.856.1.68.268.695.5955565", "5..........", "...56.5656"))
    System.out.println(test.matches("\\d+(\\.\\d+)*"));

产生:

true
true
false
false


 类似资料:
  • 问题内容: 我有一串 字符串1 (不包括引号)->“我的车号是# 8746253 ,这实际上很酷” 条件-数字8746253可以是任意长度,并且 -数字也可以紧跟在行尾。 我要分组 8746253 ,不应在其后加上点“”。 我努力了, 。#(\ d +)[^。]。 这可以肯定地得到我的数字,但是即使有一个点也可以匹配,因为[。^]将匹配数字的最后一位(例如,在下面的情况下为 3 ) 字符串2 (不

  • 问题内容: 我有一个任务要匹配浮点数。我为此编写了以下正则表达式: 但是,它返回一个错误: 据我所知,我们还需要使用转义字符.。请纠正我哪里我错了。 问题答案: TL; DR 使用[.]代替.和[0-9]代替\d以避免在某些语言(例如Java)中转义问题。 感谢无名的人最初认识到这一点。 匹配浮点数的一种相对简单的模式是 这将匹配: 查看工作示例 如果您还想匹配123.(无小数点的句点),则需要稍

  • 我需要编写一个具有以下规则的正则表达式: null null 这些示例无效: > 12--11(因为它包含两个连字符) 1-2345(因为它包含5号) <>是字符出现在最后一个位置,那么在字符之前必须有一个数字not hypen。 即11-A(必须不及格)11-1A(必须及格)

  • 我是正则表达式的初学者,并尝试搜索特定的数字模式。以下数据以 XML 格式嵌入。 要求是提取数据(最里面的列表)。在这个例子中,数据从24779开始到24760。注意:每次数据可能不是从“24”开始。因此,我计划通过以下逻辑提取:如果标签名(在本例中:DUT_1_PC)具有非零的有效数据,并且有效数据的计数大于100,用逗号分隔,则提取该列表及其标签名(DUT_1_PC)。 我无法提取所需的数据。

  • 问题内容: 当我使用上面的代码时,没关系。但是我不明白使用此regexpr时发生了什么。它打印。 如何将圆点作为特定符号?还是如何使一类具有\ n和\ r的任意字符的符号? 问题答案: 但是我不明白使用此regexpr [。] *会发生什么情况。说我错了。 因为在字符类中,点失去了特殊的意义,将与普通的旧点(字符)匹配。 在字符类之外,点是一个与任何字符匹配的元字符,不包括换行符(当然,除非使用修

  • 2.密码必须至少包含一个大写字母、一个小写字母、一个数字和一个标点符号。(例如a-z,a-z,0-9,!@#$%^&*()_+~-=`{}[]:“;'<>?,./) 我尝试使用:{}:“;'<>?,./-][])$` 但是,当我在中测试时,标点符号部分的解释并不清楚 标点符号的解释好像坏了,可以解释一下原因并帮我完成这个。