我有以下文本格式:
Phrase:
cat, fish.
Some text.
Phrase:
flat, apple, orange.
Other text.我只想提取Phrase:之后的单词,直到下一个新行:
cat, fish, flat, apple, orange
这是我在Regexr.com中尝试的正则表达式
(Phrase:)\n(.*),但它与Phrase和单词都匹配。
怎样才能只得到单词?
发布于 2016-10-01 09:17:12
这样做会不会:
/Phrase:\n([^\n]*)\n/g这样你就可以得到短语之间的任何信息:\n(任何事物)\n
group1有任何内容
发布于 2016-10-01 09:02:32
对于JavaScript regexes (这里假设您使用regexr),您不能。在大多数regex引擎中,您可以使用正向后向建模:
(?<=Phrase:\n).*这将只匹配“短语:”后面的部分。但是,在JavaScript中,您没有查找功能。你能做的最好的事情就是你已经做的事情:把你感兴趣的部分放到一个小组中,然后把它提取出来。
发布于 2016-10-01 09:14:47
如果您愿意(或可以使用)使用python,那么string的普通拆分函数将完成此工作。
In [1]: s
Out[1]: 'Phrase:\ncat, fish.\nSome text.\nPhrase:\nflat, apple, orange.\nOther text.'
In [2]: print s
Phrase:
cat, fish.
Some text.
Phrase:
flat, apple, orange.
Other text.
In [3]: s.split('Phrase:\n')
Out[3]: ['', 'cat, fish.\nSome text.\n', 'flat, apple, orange.\nOther text.']
In [4]: l = s.split('Phrase:\n')
In [5]: print l[0] #Yes it's empty
In [6]: print l[1]
cat, fish.
Some text.
In [7]: print l[2]
flat, apple, orange.
Other text.https://stackoverflow.com/questions/39804742
复制相似问题