【发布时间】:2018-02-11 21:26:36
【问题描述】:
我的模式如下:
measurement = re.compile("(\d+(?:\.\d*)?)\s*x\s*(\d+(?:\.\d*)?)\s*(cm|mm|millimeter|centimeter|millimeters|centimeters)")
在一个句子和一个文档中可以多次看到。我想找到所有匹配项并将其替换为“MEASUREMENT”,还想将其值添加到列表中。
**Input_Text**: measuring 9 x 5 mm and previously measuring 8 x 6 mm
**Output**: measuring MEASUREMENT and previously measuring MEASUREMENT
**List**: 9 x 5 mm, 8 x 6 mm
到目前为止,我的代码如下,但它只带来了第一个匹配项:
result = re.search(measurement, Input_Text)
if result:
Input_Text = Input_Text.replace(result, "MEASUREMENT")
【问题讨论】:
-
使用
re.finditer(pattern, string);). -
无论如何,你不能在文本中替换
result;这是match object。 -
那么为什么会有一个单独的
findings_section变量呢?和Input_Text一样吗?