2024-09-28 05:21:28 发布
网友
我有一个字符串,其中包含由特定子字符串分隔的组。比如:
FOO10 F10 O20 FOO20 F11 O11
我想把它分成几个组,同时保留组标识符,即
有没有一种方法可以捕捉到从单词FOO到下一个FOO的左边界或行尾的任何内容?你知道吗
>>> s = "FOO10 F10 O20 FOO20 F11 O11" >>> import re >>> regex = re.compile(r"FOO(?:(?!\s*FOO).)*") >>> regex.findall(s) ['FOO10 F10 O20', 'FOO20 F11 O11']
说明:
FOO # Match FOO (?: # Start of non-capturing group: (?!\s*FOO) # Assert that we're not right before (whitespace) FOO . # Match any character )* # Repeat as needed
>>> import re >>> re.findall('FOO.*?(?=FOO|$)', "FOO10 F10 O20 FOO20 F11 O11" ) ['FOO10 F10 O20 ', 'FOO20 F11 O11'] >>> map(str.strip, re.findall('FOO.*?(?=FOO|$)', "FOO10 F10 O20 FOO20 F11 O11" )) ['FOO10 F10 O20', 'FOO20 F11 O11']
说明:
相关问题 更多 >
编程相关推荐