python - 将小复杂的正则表达式转换为 python 正则表达式
问题描述
我在 python 上运行正则表达式模式时遇到问题。我已经尝试过 regex 在regexr.com上运行良好。
这是我将要处理的字符串
query = INSERT INTO `dba2018b15`.`Autori` (`CodiceA`, `Nome`, `Naz`) VALUES ('1', 'Mario', 'Italiana');
这是模式:
pattern = \('(\w)', '(\w+)', '(\w+)'\);
我从 python 得到的输出是这样的:
None
期望的输出应该是这样的:
('1', 'Mario', 'Italiana');
- 第一场比赛:
1
- 第二场比赛:
Mario
- 第三场比赛:
Italiana
有谁知道如何以正确的方式构造模式?谢谢。
解决方案
实际上你应该把查询字符串作为 =>
"query = INSERT INTO
dba2018b15 .
Autori (
CodiceA ,
Nome ,
Naz) VALUES ('1', 'Mario', 'Italiana');"
这些网站将输入作为字符串,但如果我们regex
使用任何语言,我们必须输入一个字符串..
所以,这可能是您问题的解决方案..
import re
pattern = r"\('(\w)', '(\w+)', '(\w+)'\)";
matches = re.findall(pattern, "query = INSERT INTO `dba2018b15`.`Autori` (`CodiceA`, `Nome`, `Naz`) VALUES ('1', 'Mario', 'Italiana');")
print(matches[0]) # prints a tuple ('1', 'Mario', 'Italiana')
# later if you want individual items
indv1 = matches[0][0] # '1'
indv2 = matches[0][1] # 'Mario'
indv3 = matches[0][2] # 'Italiana'
推荐阅读
- sql - 循环遍历表的列值
- java - 查看消息是否提到@here
- python-3.x - POSTMAN 是否支持 http2 请求
- git - .gitignore 不忽略和删除缓存不修复
- c# - 在创建要从 [FromBody] 接收某些字段的 Web 请求时如何指定
- node.js - 刷新猫鼬后默认生成的值(短网址)更改
- php - 根据仅保留最新的值删除数组中的重复对象(基于时间戳的第二个值)
- python - Selenium 用一个扭曲的 Python 滚动到视图中
- python - python在clojure中的累积等价物
- java - Docker compose 无法在 java 和 mysql 容器之间建立连接