Regex(Java) - 需要帮助制定特定的模式字符串

Tim*_*Tim 0 java regex

我对正则表达式很不好,所以希望你们和gals能够帮助我.我有一个名为str的字符串,我想确保它是以下形式:它不是任何东西,或者它是一个数字(可以是任意数量的数字),或者它是任意数量的数字(每个数字可以是任意数字的长度,如单个数字的情况)由〜字符分隔.

因此,例如,如果str是以下任何一种,它将采用正确的形式:"","0","123","13~55","123~4~121","1~23~ 43〜4" .

如果它是有效的,我将如何形成一个str匹配的正则表达式模式字符串?