Regex for Number (or) Number and Comma (or) Number Comma and Space (or) Number Comma Space Number

huangapple go评论89阅读模式
英文:

Regex for Number (or) Number and Comma (or) Number Comma and Space (or) Number Comma Space Number

问题

以下是翻译好的内容:

我对正则表达式的学习还很新,我正在尝试实现以下内容。我会非常感谢任何能帮助我学习的人。

我尝试实现的目标是:
数字(或)数字和逗号(或)数字逗号和空格(或)数字逗号空格数字

我的正则表达式:(^\d$)|(^\d,+$)|(^\d\s+$)|(^\d,\s)+$|(^\d,+\d)$

完整的测试数据链接:https://regexr.com/5eogj

通过的数据:

  • 11
  • 11,11
  • 1, 111,11
  • 111,,,
  • 11, [whitespace]
  • 1 , 1

失败/无效的数据:

  • ABC
  • 除逗号和空格之外的任何特殊字符
  • 111 1111
英文:

I am new to regex learning and I am trying to achieve the below. I will be really thankful to anyone who can help me in my learning

What I'm trying to achieve
Number (or) Number and Comma (or) Number Comma and Space (or) Number Comma Space Number

My Regex: (^\d$)|(^\d,+$)|(^\d\s+$)|(^\d,\s)+$|(^\d,+\d)$

Complete Test Data URL : https://regexr.com/5eogj

Pass Data

  • 11
  • 11,11
  • 1, 111,11
  • 111,,,
  • 11, [whitespace]
  • 1 , 1

Fail/Invalid Data

  • ABC
  • Any Special Characters other than comma and space
  • 111 1111

答案1

得分: 1

你可以使用

^\s*\d+(?:\s*,+\s*\d*)*\s*$

regexr 的正则表达式测试 中可以看到测试结果。

当你在 Java 中使用它来验证输入字符串时,可以使用

str.matches("\\s*\\d+(?:\\s*,+\\s*\\d*)*\\s*")

详细信息

  • ^ - 字符串开始
  • \s* - 0 个或多个空白字符
  • \d+ - 1 个或多个数字
  • (?:\s*,+\s*\d*)* - 零个或多个重复的
    • \s* - 0 个或多个空白字符
    • ,+ - 一个或多个逗号
    • \s* - 0 个或多个空白字符
    • \d* - 零个或多个数字
  • \s* - 0 个或多个空白字符
  • $ - 字符串结尾。
英文:

You can use

^\s*\d+(?:\s*,+\s*\d*)*\s*$

See the regex tests at regexr.

When you use it in Java to validate your input strings, use

str.matches("\\s*\\d+(?:\\s*,+\\s*\\d*)*\\s*")

Details

  • ^ - start of string
  • \s* - 0+ whitespaces
  • \d+ - 1+ digits
  • (?:\s*,+\s*\d*)* - zero or more repetitions of
    • \s* - 0+ whitespaces
    • ,+ - one or more commas
    • \s* - 0+ whitespaces
    • \d* - zero or more digits
  • \s* - 0+ whitespaces
  • $ - end of string.

huangapple
  • 本文由 发表于 2020年10月23日 18:27:58
  • 转载请务必保留本文链接:https://go.coder-hub.com/64498311.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定