我想以匹配具有以下要求的字符串含有两个变量的字符串:匹配使用正则表达式
- 该字符串包含5至10位。 [0-9]
- 包含2到3个字母。 [A-Z]
例如
- 123a2bc12
- s123d456
这是我的正则表达式。/^ \ d * [A-Z] \ d * [A-Z] \ d * [A-Z]?\ d * $ /。但是这只能限制字母的数量。
我想以匹配具有以下要求的字符串含有两个变量的字符串:匹配使用正则表达式
例如
这是我的正则表达式。/^ \ d * [A-Z] \ d * [A-Z] \ d * [A-Z]?\ d * $ /。但是这只能限制字母的数量。
这是不漂亮,但这个应该是你在找什么:
^(?=(?:[^a-zA-Z]*[a-zA-Z]){2,3}[0-9]*$)(?=(?:[^0-9]*[0-9]){5,10}[A-Za-z]*$).*$
非常感谢。这个正则表达式可以工作。我不熟悉正则表达式,如果你能解释这个正则表达式,我将非常感激。 – JKol
我做了一点挖掘来帮助我。这是你应该阅读的。 https://stackoverflow.com/questions/23426162/php-regex-for-string-with-3-9-letters-and-5-50-numbers @JKol希望这一切都有所帮助! –
我想你想这个
s=re.search(r'(\w+)','123a2bc12').group(1)
print s #The output is '123a2bc12'
这种方法很好,但它不限制字母数量和字符串中的数字。 – JKol
对不起,我不太明白。 – sobigballon
欢迎堆栈溢出!你能告诉我们你试过的是什么,它的行为与你期望的不同吗? – alexanderbird
我不同意@zerkms。我们不知道这个演习的全部影响。也许现在最好暂缓。 – CAustin
这是我的正则表达式。 '/^\ d * [A-Z] \ d * [A-Z] \ d * [A-Z]?\ d * $ /'。但是这只能限制字母的数量。 @alexanderbird – JKol