我想在文本文件中找到另一个单词之后的单词。如果它后跟'one'空格,我能找到这个词。那是
string = 'I love my world of dreams'
print re.findall (r'(?<=my)[^ -.]*', string)
这使我的输出为
[world].
但是,如果“my”之后有多个空格或多个空格,
string = 'I love my world of dreams'
这只会让我回复''。我想跳过所有空格,找到“my”之后的下一个单词。
答案 0 :(得分:1)
您可以使用\s+
(匹配所有空格)或' +'
但是因为后视需要固定宽度模式,您需要将它放在后视之外并使用分组也可以使用re.search
:
:
>>> string = 'I love my world of dreams'
>>> print re.search (r'(?<=my)\s+([^ -.]*)', string).group(1)
world
或
>>> string = 'I love my world of dreams'
>>> print re.search (r'(?<=my) +([^ -.]*)', string).group(1)
world
答案 1 :(得分:0)
答案 2 :(得分:0)
尝试使用fileinput读取文件中的行。假设文件的每一行都存储在字符串str123中。现在,以下代码将帮助您......
>>>
>>> str123 = ' This is a very long space in the text'
>>> pqr123 = str123.split()
>>>
>>> nextword = ''
>>> for i in range(len(pqr123)):
... nextword = pqr123[i]
... print ('nextword :'+ nextword + '\n')
...
nextword :This
nextword :is
nextword :a
nextword :very
nextword :long
nextword :space
nextword :in
nextword :the
nextword :text
>>>
字符串'这是文本中的一个很长的空格'在长和空格之间有2个空格。