一个正则表达式

时间:2018-05-22 05:52:49

标签: python

我的问题非常简单。有人可以为我解释这个python正则表达式吗?

neg_pattern = re.compile(r'\b(' + '|'.join(negations_dic.keys()) + r')\b')

negations_dic就在这里:

negations_dic = {"isn't":"is not", "aren't":"are not", "wasn't":"was not", "weren't":"were not"}

我想知道(和)和' |'意思是。

这是使用上述正则表达式的命令:

neg_handled = neg_pattern.sub(lambda x: negations_dic[x.group()], lower_case)

x.group的含义是什么意思?它是否返回negation_dic中的键值对?

1 个答案:

答案 0 :(得分:0)

在正则表达式中:

|表示'或' (所以任何一个选择都会这样做)和'()'表示匹配组。

因此,'(is|are|was)'将匹配任何字词'is''are''was'

但是,对我而言,这个问题似乎比正则表达更加蟒蛇。

'|'.join(['a', 'b', 'c'])将生成匹配的组'(a|b|c)',该组将匹配列表中的任何元素。