如何以0.5或99.9的步骤匹配正则表达式"01.0到60.0"?

By simon at 2019-05-15 • 0人收藏 • 22人看过

我正在创建一个与工业真空设备通信的 API。

有效的电动机频率值载于以下表格 XX.X:

01.0到60.0,每步0.5赫兹,或99.9赫兹

我自己得到了以下解决方案(用 python) :

[[0-5] d [05] | 01.0 | 60.0 | 99.9']

然而,我仍然可以匹配00.5,这不应该匹配。 我不想明确地排除00.5,也许我忘记了其他一些我没有检查的最终结果。 有没有人能给我一个更准确的表达?

2 个回复 | 最后更新于 2019-05-15
2019-05-15   #1

只需添加0[1-9]. [05]作为一种选择,并限制其他基地1-5

P re.com pile ('0[1-9]. [05] | [1-5] d. [05] | 60.0 | 99.9')

你还需要使用\.而不是.因为.意味着任何字符。 最后不再需要01.0条件

2019-05-15   #2

你可以缩短它,然后从字面上省略点来匹配它:

^ [0-5][1-9]. [05] | 60 | 99 | 9
  • [0-5][1-9]匹配0-59
  • \.匹配一个点
  • 60-99-9匹配60.0或99.9

演示

登录后方可回帖

Loading...