我想要一个正则表达式来匹配由分号分隔的版本的枚举。也可能没有提到版本。
输入示例:
12.1.01;;;1.3.400;12-3;5;;;;;;4,5
12.5
;;;13,7;;15-12.300
分号之间至少应该提到一个版本。版本数量可以是任意版本。
目前这个正则表达式似乎做了我想要的事情:
regex="^\;*([0-9]+([\.\,\-]{1}[0-9]+)*)+(\;|([0-9]+([\.\,\-]{1}[0-9]+)*))*$"
其他解决方案?
答案 0 :(得分:2)
如果你在分号内寻找任何东西,正则表达式
([^;]+)
应该做的伎俩。它将尽可能长地匹配不是;
正则表达式:
([^;\n\r]+)
还将分隔不同行上的版本名称,而它们之间没有任何分号。
答案 1 :(得分:0)
如果该行有效,则此模式与行匹配
/^(;*((\d+)\.)*?(\d+);*)*$/
此模式不匹配所有内容;
/[^;]+/g
此模式与版本匹配:
/(\d+\.)*\d+/
答案 2 :(得分:-1)
我会使用for来迭代版本,如下所示:
<directive1 ng-show="showing=='directive1'">
<directive2 ng-show="showing=='directive2'">
就像手动拆分经典编程语言一样。