我可以在正则表达式中插入变量吗?

时间:2016-02-09 14:27:52

标签: regex list text-mining

我想使用正则表达式从文本中获取特定信息,我给出了一个半伪代码示例〜你也可以用半伪代码回复我:

list=["orange","green","grey"]
text= "The Orange is orange"
for word in list:
     if word == re.compile(r'word, text):
           capture Orange in order to have the noun

小心!我的问题集中在是否有可能使用变量(如上面的单词),以便制作循环并查看基于a的文本中是否存在相等的单词列表。

不要专注于如何捕获橙色。

1 个答案:

答案 0 :(得分:0)

我认为Biffen有正确的想法,如果您将此用于POS标记,那么您将陷入痛苦的世界。无论如何,这允许您匹配text变量

中的单词
for word in list:
    if word in text:
        # Do what you want with word

如果你想使用正则表达式,那么你可以从字符串构建模式,使用括号来捕获。然后使用group()访问捕获的模式

for word in list:

    pattern = re.compile(".*(" + word + ").*")
    m = re.match(pattern, text)

    if m:
        print(m.group(1))