我试图拆分一个字符串,它看起来可能如下所示:
A Fool (SEVEN000) (and His Money are S00n) Parted Into:A Fool (7000) (and His Money are和S00n) Parted使用Python
)将始终出现在字符串的末尾,并且总是前面有一个单词/数字。我在想,使用[word/number])模式将它从右边分割出来是可行的。
编辑:
按照要求,这里还有几个例子
Right (Out of the) Gate 预期产出:Right (Out of the) Gate
Right (Out) (of the Gate at 12PM)预期产出:Right (Out of the Gate at 12PM)
发布于 2019-03-16 09:35:12
您似乎要将字符串从括号中的最后一个空格中拆分。你可以用这个正则表达式,
(?=[^()]*\))(?=\S*\))检查一下Python代码,
import re
s = 'A Fool (SEVEN000) (and His Money are S00n) Parted'
arr = re.split(r' (?=[^()]*\))(?=\S*\))', s)
print(arr)像你想要的指纹,
['A Fool (SEVEN000) (and His Money are', 'S00n) Parted']发布于 2019-03-16 09:33:58
这里有一个使用re.split的选择,它具有积极的前瞻性。我使用的模式是:
\s+(?=\w+\)(?:\s|$))此模式表示拆分和使用任意数量的空白,当后面是一个或多个单词字符,后面跟着一个结束括号和空格或输入的末尾。
input = "A Fool (SEVEN000) (and His Money are S00n) Parted"
parts = re.split(r'\s+(?=\w+\)(?:\s|$))', input)
print(parts)
['A Fool (SEVEN000) (and His Money are', 'S00n) Parted']发布于 2019-03-16 09:32:14
使用以下正则表达式,并在索引处使用子字符串:
\b[A-Za-z0-9]+\) [A-Za-z0-9]+$(这假设在结束括号后只有一个单词,您需要提供更多的信息,这样我就可以更新答案,如果不是这样的话)
https://stackoverflow.com/questions/55195260
复制相似问题