ng-pattern regex允许除十进制值以外的所有字符

时间:2015-08-31 05:32:21

标签: regex angularjs

我提出了以下[2015-08-31 14:39:48,047][INFO ][cluster.metadata] [slave1_dev] [[_river]] remove_mapping [[test]] [2015-08-31 14:39:48,086][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] Closing river test [2015-08-31 14:39:48,088][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] Stopping river test [2015-08-31 14:39:48,088][INFO ][org.elasticsearch.river.mongodb.MongoDBRiver] Stopped river test [2015-08-31 14:39:48,089][WARN ][org.elasticsearch.river.mongodb.MongoDBRiver] Failed to start river test – 示例,以允许除了float(十进制值)regex

之外的所有内容。
e.g. .1, 0.1, 1.1, 1.1., 1.1.1 etc

是否有一种简短的方法可以为我的要求编写正则表达式,即除了loat(十进制值)之外允许键盘中的所有内容,例如0.1,1.1,1.1。等?

2 个答案:

答案 0 :(得分:1)

使用基于正面的负面预测。

^(?!\d*\.\d+$).*

(?!...)称为负向前瞻,它声称匹配后面不会出现与负前瞻内部存在的模式匹配的文本。所以这里^(?!\d+\.\d+$),只有当行边界的起点后面没有\d+\.\d+$十进制数时,才匹配行边界的起点。

DEMO

答案 1 :(得分:0)

^[\w !@#$%^&\*()\+-]*$

    ^^            ^^

您的正则表达式无法接受decimals,因为它与.不匹配。您需要将-放在endescape / / / p >