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

正则表达式通过komma分离2个数字

文自怡
2023-03-14

我正在尝试制作一个正则表达式,只允许一个数字的大小写,然后用“;”分隔另一个数字或相同大小写喜欢

  1. 57,1000
  2. 57,1000;6393,1000

到目前为止我是这样做的:< code > pattern . compile(" \ \ b[0-9;,]{1,5}?\ \ d;([0-9]{1,5},?) ").matcher(“571000”)。find();如果case为< code>57,1000,则该选项有效;6393,1000,但它也允许字母,当大小写< code>57,1000时不起作用

共有2个答案

东弘扬
2023-03-14

像这样怎么样。只需查找用逗号分隔的两个数字并捕获它们即可。

String[] data = {"57,1000",
"57,1000;6393,1000"};

Pattern p = Pattern.compile("(\\d+),(\\d+)");
for (String str : data) {
    System.out.println("For String : " + str);
    Matcher m = p.matcher(str);
    while (m.find()) {
        System.out.println(m.group(1) + " " + m.group(2));
    }
    System.out.println();
}

指纹

For String : 57,1000
57 1000

For String : 57,1000;6393,1000
57 1000
6393 1000

如果您只想匹配它们,可以执行以下操作:它匹配字符串的单个实例,后跟一个可选实例,后面是一个分号。

String regex = "(\\d+,\\d+)(;(\\d+,\\d+))?";
for (String str : data) {
    System.out.println("Testing String " + str + " : " +str.matches(regex));
}

指纹

Testing String 57,1000 : true
Testing String 57,1000;6393,1000 : true

安浩瀚
2023-03-14

尝试Regex "(\d,\ d(;\d,\d)?)"

@Test
void regex() {
    
    Pattern p = Pattern.compile("(\\d+,\\d+)(;\\d+,\\d+)?"); 
    
    Assertions.assertTrue(p.matcher("57,1000").matches());
    Assertions.assertTrue(p.matcher("57,1000;6393,1000").matches());
    
}
 类似资料:
  • 问题内容: 我正在创建一个CSS编辑器,并试图创建一个可以从CSS文档获取数据的正则表达式。如果我拥有一个属性,则此正则表达式有效,但我无法使其对所有属性都有效。我在PHP中使用preg / perl语法。 正则表达式 测试用例 预期结果 实际结果 在此先感谢您的帮助-整个下午使我感到困惑! 问题答案: 对于单个正则表达式来说,这似乎太令人费解了。好吧,我敢肯定,通过正确的扩展,高级用户可以创建正

  • 问题内容: 我想使用Java正则表达式否定一组单词。 再说了,我想否定,,,。我写了一个正则表达式。 有些似乎不起作用。 问题答案: 试试这个: 如果不包含svn,cvs,nvs或mvc之一,则它将与文本匹配。 这是一个类似的问题:C#正则表达式要匹配不包含某个字符串的字符串?

  • 我有3个正则表达式,但当模式匹配时执行相同的操作,所以我考虑将所有三个表达式合并为一个。我尝试了很多,但无法让“|”I.e”或“在我的正则表达式中工作 regex1:<代码>文本。替换(/([\u00A9-\u3299])/g,函数myFunction(x){…} regex2: regex3: 我试过这样做,但它不起作用regex:

  • 我有一个代码,使用一些逻辑生成一些单词,我有正则表达式1(见下文)。但是我需要生成正确的单词,例如单词1。我的逻辑包括我提到的数学模式。我需要正确的模式来生成单词,例如单词1而不是2。模式的逻辑是: 该单词以大写元音或辅音开头 长度为(整个单词的)2个或更多符号 一行不应超过两个元音或辅音 等等 这些是单词 1 这是正则表达式 1 这个正则表达式不起作用,我的代码逻辑生成了下一个单词: 这些是单词

  • 问题内容: 我有这个HTML输入: 我想使用正则表达式删除HTML标记,以便输出为: 谁能建议使用正则表达式执行此操作? 问题答案: 您可以使用称为Jericho Html解析器的HTML解析器。 您可以从这里下载-http://jericho.htmlparser.net/docs/index.html Jericho HTML Parser是一个Java库,允许对HTML文档的各个部分(包括服

  • 正则表达式的“祖先”可以一直上溯至对人类神经系统如何工作的早期研究。Warren McCulloch 和 Walter Pitts 这两位神经生理学家研究出一种数学方式来描述这些神经网络。 1956 年, 一位叫 Stephen Kleene 的数学家在 McCulloch 和 Pitts 早期工作的基础上,发表了一篇标题为“神经网事件的表示法”的论文,引入了正则表达式的概念。正则表达式就是用来描