我是使用Python的regex新手。现在我有一个问题,比如:
myTry=['a bb Aas','aa 1 Aasdf','aa bb (cc) AA','aaa ASD','aa . ASD','aaaa 1 bb Aas']
我想找到的是在大写字母之前的子字符串(本例中为A),它可能包含多个单词和(),但不包括数字和。。因此,在本例中,应检测myTry中的以下字符串:
'a bb Aas'
'aa bb (cc) AA'
'aaa ASD'
结果应该是:
'a bb'
'aa bb (cc)'
'aaa'
我不知道如何使用regex来定义一个模式,比如“同时包含某些内容和排除某些内容”。你知道吗
尤其是第一个和最后一个字符串:“a bb Aas”和“aaaa 1 bb Aas”。我想要第一个,我不想要第二个。但我不知道在这些单词里会有多少个单词和数字。但只要有数字和数字。在首都之前,我不需要它们。你知道吗
如果包含字母、()和空格,则会自动排除其他元素。你知道吗
可以使用两个regex操作。第一种方法通过匹配
^[a-zA-Z\s\(\)]*$
过滤出无效的结果,第二种方法使用正向前瞻:.*?(?= [A-Z])
收集所需的子字符串。你知道吗如果您预期某些字符串可能会通过筛选(即,包含除字母字符、括号或空格以外的内容),但可能与“先行”不匹配,则需要筛选中间结果:
相关问题 更多 >
编程相关推荐