Python基于字符标准计算字符串中的字符串 我想获取字符串列表并通过循环运行它们 如果 字符串符合标准1(有符号、有数字、有字母)或 标准(有字母,有编号) 添加到新列表 计数迭代次数i+=1

Python基于字符标准计算字符串中的字符串 我想获取字符串列表并通过循环运行它们 如果 字符串符合标准1(有符号、有数字、有字母)或 标准(有字母,有编号) 添加到新列表 计数迭代次数i+=1,python,Python,因此: 仅返回满足条件的字符串的列表,并给出列表中有多少字符串的计数 尝试: for word in list: match = re.findall('\w+\d+\W+'), word) lst.append(word) count += 1 有没有可能是因为 match = re.findall('\w+\d+\W+'), word) 应该是 match = re.findall('\w+\d+\W+', word) 如果您只想添加匹配的单词,您可能应该在检查

因此: 仅返回满足条件的字符串的列表,并给出列表中有多少字符串的计数

尝试:

for word in list:
    match = re.findall('\w+\d+\W+'), word)
    lst.append(word)
    count += 1

有没有可能是因为

match = re.findall('\w+\d+\W+'), word)
应该是

match = re.findall('\w+\d+\W+', word)
如果您只想添加匹配的单词,您可能应该在检查后查看匹配。还要确保你的正则表达式是你所期望的。我会用它来测试

for word in list:
    match = re.findall('\w+\d+\W+', word)
    if len(match) > 0:
        lst.append(word)
        count += 1
进口稀土 计数=0

my#u list=[“3This@”,“Tad9”,“t443%3g2”,“$$Tad##“,“$$Tad^&*444”,“dff$%fgg”,“Tad”,“!$33kk”,“Tad4”]

我的清单=[44,33,55,66] lst=[]

对于我的清单中的单词:

##########CODE HERE##################

match = re.findall(r'^[a-zA-Z]+\d+\W+', word)
for m in match:
    if m.istitle():


##########CODE HERE###################
        count += 1
打印lst
打印计数

当前代码如何失败?还有,你把什么定义为符号?字符串还可以包含什么?你们的规格中有什么特别的订单吗?我正在寻找所有可能的订单。我知道这对findall()来说是一个很高的要求,但是它非常强大。。。paul:)你可能需要在match=re.findall(等)之后使用if语句来确保re.findall返回了所有匹配项。如果这就是你现在使用的循环,它会将列表中的每个单词添加到lst。我的问题是,我想返回具有标准的整个单词,而不仅仅是单词中具有标准的部分。这应该是这样做的。代码正在向新列表中添加单词,而不是匹配项。这些匹配只用于检查您是否有匹配项。好的,是的,def工作正常。我现在唯一的问题是,我需要找到一种方法,以不确定的顺序重新定义.findall()标准,或者只是添加所有可能的标准,并可能使用管道来表示这个或那个?这就是我正在尝试的