Regex 用于测试字符重复性的正则表达式
我有一个特殊要求,需要检查8个字符的字符串中是否所有字符都包含字符“0”的重复 我试图使用正则表达式0{8}验证所有情况,以使结果为真- 但上面的正则表达式将仅验证*Regex 用于测试字符重复性的正则表达式,regex,Regex,我有一个特殊要求,需要检查8个字符的字符串中是否所有字符都包含字符“0”的重复 我试图使用正则表达式0{8}验证所有情况,以使结果为真- 但上面的正则表达式将仅验证* 0 00 000 0000 00000 000000 0000000 00000000 ->* 有人能建议我是否需要更改正则表达式中的某些内容来验证上述所有输入吗? 感谢您的帮助。您应该使用0{1,8}来捕获您提供的所有案例。您应该使用0{1,8}来捕获您提供的所有案例。{8}需要8个字符。使用: {8}需要8个字符。使用
0
00
000
0000
00000
000000
0000000
00000000 ->*
有人能建议我是否需要更改正则表达式中的某些内容来验证上述所有输入吗?
感谢您的帮助。您应该使用0{1,8}来捕获您提供的所有案例。您应该使用0{1,8}来捕获您提供的所有案例。
{8}
需要8个字符。使用:
{8}
需要8个字符。使用:
要检测任何次数的
0
,只需使用:
0+
这与您的所有测试用例匹配,当然会匹配8个以上,但如果您的输入字符串最多为8个字符,则可以。要检测任何数量的
0
重复,只需使用:
0+
这与您的所有测试用例匹配,当然会匹配8个以上,但是如果您的输入字符串最多为8个字符,则可以 a='000000000' b='000001000' a、 条带('0')#返回“” b、 strip('0')#返回'1' 对于C++
替换(s.begin()、s.end()、'0'、'' 这应该很容易做到 a='000000000' b='000001000' a、 条带('0')#返回“” b、 strip('0')#返回'1' 对于C++
替换(s.begin()、s.end()、'0'、'' 谢谢Alex,但我只想检查0,即如果字符串0001出现,那么它应该无效。因此,这个序列在重复中应该严格地只包含0,而不包含任何其他字符等。如果您确定该字符串没有换行符,则可以使用^0{0,8}$。这将只捕获包含1到8个零的行。谢谢Alex,但我只想检查0,即如果字符串0001出现,那么它应该无效。因此,这个序列在重复中应该严格地只包含0,而不包含任何其他字符等。如果您确定该字符串没有换行符,则可以使用^0{0,8}$。这只会捕获包含1到8个零点的行。这是非常好的建议,只要在使用语言中有这样的函数(例如,C++ STD::string没有它),使用ReGEXP或简单的字符串操作,您总是可以替换字符。将“0”替换为“”,结果为空字符或其他字符。例如std::replace(s.begin(),s.end(),'x','y');//将所有的“x”改为“y”,这是非常好的建议,只要在使用语言中有这样的函数(例如,C++ STD::string没有它),使用ReGEXP或简单的字符串操作,您就可以替换字符。将“0”替换为“”,结果为空字符或其他字符。例如std::replace(s.begin(),s.end(),'x','y');//将所有的“x”替换为“y”@Bhemian..看起来很棒这就是我要找的。谢谢你们这么快的回复和宝贵的建议。@Bhemian.看起来很棒,这就是我要找的。感谢各位如此快速的回复和宝贵的建议。