我对正则表达式非常糟糕,所以希望你们和gals能够帮助我。我有一个名为str的字符串,我想确保它是以下形式:它不是任何东西,或者它是一个数字(可以是任意数量的数字),或者它是任意数量的数字(每个数字可以是任意数字的长度,如单个数字的情况,用〜字符分隔。
因此,例如,如果str是以下任何一种,它将采用正确的形式:“”,“0”,“123”,“13~55”,“123~4~121”,“1 〜23〜43〜4" 。
如果形成一个正则表达式模式字符串,如果它有效,我将如何形成一个正则表达式?
答案 0 :(得分:7)
不能简单:
^(\d+~?)*$
在此处查看:[{3}}
答案 1 :(得分:3)
正确也可能是:
^(\d+(~\d)*)*$
与此前的约瑟夫·西尔伯答案的区别在于,这个不允许以〜字符结束的行。
答案 2 :(得分:0)
此?
^([0-9]+|(([0-9]+~)*[0-9]+))?$