如何测试整个字符串是否只包含一个特定字符

时间:2018-05-10 17:08:19

标签: regex

我们想测试整个字符串(字符串长度> = 2)是否只包含一个特定的(任何字母数字)字符。

简而言之,正则表达式只应该选择“是”部分中提到的字符串,并且不应该识别“否”部分中提到的字符串。

- YES设置---

111111 

000 

AAAA 

bbbbb 

--- NO set ---

zzzzzBzzz 

3   

0000110 

我们不应该选择3,因为此字符串的长度为1。

由于

2 个答案:

答案 0 :(得分:1)

这样可以解决问题:

^([A-Za-z0-9])\1+$

这会捕获第一个字符,并确保使用反向引用后该点之后的所有字符都相同。还确保至少存在两个字符。

Try it here

答案 1 :(得分:0)

Callum的答案非常有效。现在,我想向前迈出一步 - 如果重复任何字符,即(\ w)发生,我们如何排除字符串。

更确切地说,(\ w)\ 1+捕获任何重复的角色。如果字符串中存在上述组,我们如何去除字符串。

- 是设置---

ABC 12X 1×2 z2v

- 没有设定---

ABBA 11cv AABB x33Y

我的建议是:

^(?!\ W *(\ W)\ 1 +)\ W *

真诚地感谢更好的建议。

由于 桑乔伊