我正在学习正则表达式(使用this site)并试图弄清楚如何解析以下字符串1***2
以给我[1,2]
(不使用3个星号的特定情况)。可以有任意数量的星号作为一个分隔符拆分,所以我正在寻找* char后跟*通配符。分隔符也可以是字母。
输出应该只是数字,所以我使用^-^0-9
来分割所有其他内容。
到目前为止,我已经尝试过:
input.split("[^-^0-9]");
//给我[1, , ,2]
input.split("[^-^0-9\\**]");
//给我[1***2]
input.split("[^-^0-9+\\**]");
//给我[1***2]
\*
不起作用,因为它未被识别为有效的转义字符。
谢谢!
答案 0 :(得分:12)
答案 1 :(得分:3)
如果分隔符可以是字母..
你可以使用
\D+
OR
[^\d]+