首页 > 解决方案 > 如何仅匹配仅包含数字的单词周围的引号?

问题描述

如何匹配数字周围的引号:这是我所拥有的:

"Austria","AU","ULO1","185","34","4dera"

这是我需要的:

"Austria","AU","ULO1",185,34,"4dera"

这是我所做的最接近的:\"(?=\d)|(?<=\d)\",但问题是它也匹配以数字开头的单词,我不能放+*或者.在 Look-behind 或 Look-ahead 中。我正在尝试像这样更改 1400 行的 .csv 文件。我可以用 Notepad++ 替换它,因为它支持正则表达式或 python 脚本。

标签: pythonregexregex-negation

解决方案


import re
s = '"Austria","AU","ULO1","185","34","4dera"'
print(re.sub(r'"(\d+)"',r'\1',s))

匹配包含在其中的每个数字,"并将其替换为不带".


推荐阅读