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

如何在java中为匹配字符串和BigIntger编写正则表达式?

陆浩博
2023-03-14

我试着用这个网站https://www . free formatter . com/Java-regex-tester . html # ad-output。但是我没有成功。

我的Java正则表达式

(.*)\\w+=[0-9][0-9]*$(.*)

要测试的条目:

a = 800000000000000000000000

我的代码需要为< code>data.matches(()提供< code>true。*)\\w =[0-9][0-9]*$(。*)" " ,共< code >个

共有2个答案

舒赞
2023-03-14

扩展之前的回答和atmin的评论(我还不能在任何地方发表评论),你可以用以下方式排除前导零:

String regex = "0|(\\-?[1-9]\\d*)";
String stringToTest = "..."
boolean result = stringToTest.matches(regex);
阳兴朝
2023-03-14

按如下方式执行:

public class Main {
    public static void main(String[] args) {
        String[] testStrs = { "a = 800000000000000000000000", "a = ABC800000000000000000000000",
                "a = 800000000000000000000000ABC", "a = 12.45", "a = 800000000000ABC000000000000", "a = ABC",
                "a = 900000000000000000000000", "a = -800000000000000000000000", "a = -900000000000000000000000" };
        for (String str : testStrs) {
            System.out.println(
                    str + " -> " + (str.matches("[A-Za-z]\\s+=\\s+[-]?\\d+") ? " matches." : " does not match."));
        }
    }
}

输出:

a = 800000000000000000000000 ->  matches.
a = ABC800000000000000000000000 ->  does not match.
a = 800000000000000000000000ABC ->  does not match.
a = 12.45 ->  does not match.
a = 800000000000ABC000000000000 ->  does not match.
a = ABC ->  does not match.
a = 900000000000000000000000 ->  matches.
a = -800000000000000000000000 ->  matches.
a = -900000000000000000000000 ->  matches.

解释:

  1. [A-Za-z]代表字母
  2. \\s表示空间
  3. [-]? 是可选的-
  4. \\d代表数字
 类似资料:
  • 问题内容: 我在尝试将我的javascript regex经验转移到Python时遇到了麻烦。 我只是想让它工作: …但是它打印无。如果我做: 它匹配…默认情况下是否匹配字符串的开头?当匹配时,如何使用结果? 我如何进行第一场比赛?是否有比python网站提供的文档更好的文档? 问题答案: 隐式添加到您的正则表达式的开头。换句话说,它仅在字符串的开头匹配。 将在所有位置重试。 一般来说,建议您在需

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

  • 我正在尝试编写一个bash脚本,其中包含一个函数,因此当给定一个,,etc.文件它使用带有相关开关的tar来解压缩文件。 我使用if-elif-then语句来测试文件名的结尾,但我无法使用regex元字符使其匹配。 为了节省不断重写脚本,我在命令行中使用“test”,我认为下面的语句应该可以工作,我已经尝试了括号、引号和元字符的每一个组合,但仍然失败。 我相信问题很简单,我到处都找过了,但我不知道

  • 问题内容: 我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。 我有一组价值观,例如: 028938 DEF567987 390987.456 GHI345928.039 我想匹配一组特定的字符串,例如: 完全由6位数字组成的字符串 字符串,由正好6位数字,十进制组成

  • 我正在arround制作一个与字符串的某个块匹配的正则表达式,问题是它包含许多相似的块,并且没有清楚地分开,所以我不知道如何停止正则表达式。 字符串的例子 所以我要做的是匹配并只选择第一个A1。到目前为止,我所做的是:

  • 本文向大家介绍String字符串匹配javascript 正则表达式,包括了String字符串匹配javascript 正则表达式的使用技巧和注意事项,需要的朋友参考一下 在JavaScript代码中使用正则表达式进行模式匹配经常会用到String对象和RegExp对象的一些方法,例如replace、match、search等方法,下面所述是对相关方法使用的总结,需要的朋友参考下。 String对