2

私は(このサイト1***2で)正規表現を学習しており、次の文字列を解析して[1,2](3つのアスタリスクの特定のケースを使用せずに)取得する方法を理解しようとしています。1つの区切り文字として分割する必要のあるアスタリスクはいくつでもある可能性があるため、*文字の後に*ワイルドカードを付けて探しています。区切り文字は文字でもかまいません。

出力は数値のみである必要があるため、^-^0-9他のすべてで分割するために使用します。

これまでに試しました:

input.split("[^-^0-9]");//くれます[1, , ,2]

input.split("[^-^0-9\\**]");//くれます[1***2]

input.split("[^-^0-9+\\**]");//くれます[1***2]

\*有効なエスケープ文字として認識されないため、機能しません。

ありがとう!

4

2 に答える 2

12

あなたは探している

input.split("[*]+");

これにより、1つ以上の連続するアスタリスクで文字列が分割されます。

[*] 区切り文字内の他の文字(文字など)を許可するには、それらを文字クラスに追加します。

于 2013-01-24T19:14:07.947 に答える
3

区切り文字が文字である可能性がある場合。

あなたが使用することができます

\D+

また

[^\d]+
于 2013-01-24T19:22:27.597 に答える