java专用正则表达式

java专用正则表达式,java,regex,Java,Regex,我试图上传一个具有特定结构的文件,我需要验证每一行。 我认为正则表达式会有帮助,但我不确定如何构造它 每行包含下一个结构 decimalNumber : (1 to 15) of "(number,decimalNumber,$decimalNumber") 范例 13.1 : (1,3.0,$100.23) (2,9.5,$21.3) 我还想验证冒号后面的部分不包含超过15次重复的部分这应该可以做到: ^\d+\.\d+\s\:(\s\((1[0-5]|\d),\d+\.\d+,\$\d+

我试图上传一个具有特定结构的文件,我需要验证每一行。 我认为正则表达式会有帮助,但我不确定如何构造它

每行包含下一个结构

decimalNumber : (1 to 15) of "(number,decimalNumber,$decimalNumber")
范例

13.1 : (1,3.0,$100.23) (2,9.5,$21.3)

我还想验证冒号后面的部分不包含超过15次重复的部分

这应该可以做到:

^\d+\.\d+\s\:(\s\((1[0-5]|\d),\d+\.\d+,\$\d+\.\d+\)){1,15}$
  • \d+\.\d+
    一个或多个数字后跟一个文字
    后跟一个或多个数字
  • \s
    一些空格
  • \:
    文字冒号
  • \s
    更多空间
  • (…){1,15}
    然后将以下结构1到15次:
    • \(
      左对齐文字
    • (…|…)
      接下来,是一个替代项。以下任一项:
      • 1[0-5]
        1紧接着0、1、2、3、4或5
      • \d
        单个数字
    • 文字逗号
    • d+\。\d+
      一个或多个数字后跟一个文字
      后跟一个或多个数字
    • 文字逗号
    • \$
      一个字面上的美元符号
    • \d+\.\d+
      一个或多个数字后跟一个文字
      后跟一个或多个数字
    • \)
      右对齐文字

你已经试过什么了吗?在
[0-5]
之后有一个很好的指南,它是正确的,除了一个不必要的)固定的是:
^\d+\.\d+\s\(\s\((1[0-5]\\d),\d+\.\d+,\$\d+\.\d+\){1,15}$
或在java代码中:
行。匹配(^\\d+\.\\d+\\\\\\\\\\\.\\s\\:(\\s\((1[0-5]\\\\\\\\\\\\\\.\d+\\\\\\\\\.\d+\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\