正则表达式查找字符串是否包含所有数字0-9是否为任何顺序。 有人可以帮忙吗?
假设我有一个字符串 - “01230912747238507156”这包含0-9的所有字符。所以我应该成真。
答案 0 :(得分:3)
您可以使用Python的内置all()
功能
s = "0123091274723507156"
n = [0,1,2,3,4,5,6,7,8,9]
print(all(str(i) in s for i in n))
您也可以将[0,1,2,3,4,5,6,7,8,9]
替换为list(range(0,10))
答案 1 :(得分:0)
您可以使用这样的计数器
string = "01230912747235071568"
cnt = 0
for i in range(0,10):
if str(i) in string:
print(i)
cnt += 1
print(cnt)
如果您真的在寻找正则表达式解决方案(学习目的?),您可以使用多个前瞻(不可取,真正冗余的代码):
import re
rx = re.compile(r'^(?=^0*0)(?=^1*1)(?=^2*2)(and so on...).+$')
那是:
(?=not_one zero or more times, then one)...
答案 2 :(得分:0)
此解决方案可以处理各种字符串,而不仅仅是数字字符。
findall
工作原理:
使用正则表达式set
查找字符串中的所有数字。将所有匹配项加入一个字符串,并通过将其放入set
来获取唯一字符。然后计算 var client = new RestClient("https://oauth.platform.intuit.com/oauth2/v1/tokens/bearer");
var request = new RestRequest(Method.POST);
request.AddHeader("cache-control", "no-cache");
request.AddHeader("content-type", "application/x-www-form-urlencoded");
request.AddParameter("application/x-www-form-urlencoded", "grant_type=client_credentials&client_id=xxxx&client_secret=yyy", ParameterType.RequestBody);
IRestResponse response = client.Execute(request);
的长度。如果所有数字都表示,则长度为10。
答案 3 :(得分:-2)
您可以使用.isDigit()
过滤非返回bool的非数字