regex 如何修改下面的正则表达式以接受一个由大于0的int和double值组成的double数组?

x6h2sr28  于 2023-03-31  发布在  其他
关注(0)|答案(1)|浏览(126)

我有一个双精度数组字符串,它应该接受整数和大于0的双精度值。
到目前为止,我可以使用这个正则表达式来验证double数组:pattern="^[0-9.,[]]+$”,但它接受0值,我需要它接受大于0的整数和双精度数。
我经历了这一过程,但无法相应地修改我的正则表达式。Regular Expression for any number greater than 0?
所需输出示例:[001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files][001 pdf 1st-31files]0.8]、[85,0.85]、[90,0.9]、[95,0.95]、[100,1]]

bmp9r5qi

bmp9r5qi1#

你可以用

^(?!.*(?<![^\][,])0(?:\.0+)?(?![^\][,]))\[\[\d+(?:\.\d+)?(?:,\d+(?:\.\d+)?)*](?:,\[\d+(?:\.\d+)?(?:,\d+(?:\.\d+)?)*])*]$

请参见regex demo

  • 详细信息 *:
  • ^-字符串开始
  • (?!.*(?<![^\][,])0(?:\.0+)?(?![^\][,]))-一个否定的前瞻,失败的字符串有一个0,或0.00(或0.00000等)是在[],
  • \[\[-[[字符串
  • \d+(?:\.\d+)?-一个或多个数字,然后是.和一个或多个数字的可选序列
  • (?:,\d+(?:\.\d+)?)*-,的零个或多个序列,然后是一个或多个数字,然后是.和一个或多个数字的可选序列
  • ]- a ]字符
  • (?:,\[\d+(?:\.\d+)?(?:,\d+(?:\.\d+)?)*])*-零个或多个逗号序列,[,一个或多个数字,然后是.和一个或多个数字的可选序列,然后是,的零个或多个序列,后跟一个或多个数字,然后是.和一个或多个数字的可选序列,然后是]字符
  • ]- a ]字符
  • $-字符串结束。

相关问题