我为javascript写了一个小的正则表达式。它只应接受以逗号分隔的数字。
有效的例子是:
1 single value allowed
1,278,3780,50
1,56,90, (trailing comma allowed)
无效的例子是:
1,45 67
1, gj, + (any special character and characters)
正则表达式是:/^[\d|\,]+/g
然而,它也接受| (管道人物)。
Like: 1|46|6778|567
我做错了什么?我错过了什么? 请关注此link到我的正则表达式
答案 0 :(得分:4)
您不需要管道(|
)并在字符类中转义字符。另外,您可以使用以下正则表达式:
/^(?:\d+\,)+\d+$/g
如果我错过了您的编辑,如果尾随逗号是有效的案例,您只需使用以下正则表达式:
^(\d+,?)+$
答案 1 :(得分:1)
答案 2 :(得分:1)
匹配以逗号分隔的数字:
(\d+,?)+
答案 3 :(得分:1)
正确的正则表达式如下:
colorPrimary
这将符合指定的情况:
public class Foo {
@JsonSerialize(using = MyCustomSerializer.class)
public Bar bar;
}
public class Bar {
}
public class MyCustomSerializer extends JsonSerializer<Bar> {
@Override
public void serialize(Bar value, JsonGenerator jgen, SerializerProvider serializers) throws IOException, JsonProcessingException {
// get Foo ??
}
}
)^\d+(?:,\d+)*,?$
)1
,1,2,3
)