我们知道anchors、word boundaries和{}在某个位置匹配,而不是匹配字符。
是否可以使用regex(特别是python)通过前面的一种方法拆分字符串?在
例如,考虑以下字符串:"ThisisAtestForchEck,Match IngwithPosition."
因此,我需要以下结果(以大写字母开头但不以空格开头的子字符串):
^{pr2}$
如果我分组,我得到:>>> re.split(r'([A-Z])',s)
['', 'T', 'hisis', 'A', 'test', 'F', 'orch', 'E', 'ck,', 'M', 'atchingwith', 'P', 'osition.']
这是环顾四周的结果:>>> re.split(r'(?<=[A-Z])',s)
['ThisisAtestForchEck,MatchingwithPosition.']
>>> re.split(r'((?<=[A-Z]))',s)
['ThisisAtestForchEck,MatchingwithPosition.']
>>> re.split(r'((?<=[A-Z])?)',s)
['ThisisAtestForchEck,MatchingwithPosition.']
请注意,如果要按以大写字母开头且前面有空格的子字符串拆分,例如:['Thisis', 'Atest', 'Forch' ,'Eck,' ,'Match ', Ingwith' ,'Position.']
我可以使用re.findall,即:>>> re.findall(r'([A-Z][^A-Z]*)',s)
['Thisis', 'Atest', 'Forch', 'Eck,', 'Match ', 'Ingwith', 'Position.']
但是第一个例子呢:有没有可能用re.findall来解决它?在