我在python上运行正则表达式模式时遇到问题。我已经尝试过了正则表达式在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'