pymysql正则表达式
时间: 2023-10-14 15:26:51 浏览: 57
使用 PyMySQL 进行正则表达式匹配需要在 SQL 语句中使用 `REGEXP` 关键字。下面是一个示例代码:
```python
import pymysql
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cursor = conn.cursor()
# 匹配名字中含有 "John" 的所有记录
name_pattern = 'John'
sql = "SELECT * FROM users WHERE name REGEXP %s"
cursor.execute(sql, name_pattern)
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
conn.close()
```
在上面的代码中,我们使用 `REGEXP` 关键字在 SQL 语句中匹配名字中含有 "John" 的所有记录。需要注意的是,我们将正则表达式模式作为参数传递给 `execute()` 方法,而不是将其直接放入 SQL 语句中,这是为了避免 SQL 注入攻击。
如果你想要使用更复杂的正则表达式模式,则需要对其进行转义。例如,如果你想要匹配电话号码中的数字和破折号,可以使用以下代码:
```python
import pymysql
import re
conn = pymysql.connect(host='localhost', user='root', password='password', db='testdb')
cursor = conn.cursor()
# 匹配电话号码中的数字和破折号
phone_pattern = re.escape('[0-9]-')
sql = "SELECT * FROM users WHERE phone REGEXP %s"
cursor.execute(sql, phone_pattern)
results = cursor.fetchall()
for row in results:
print(row)
cursor.close()
conn.close()
```
在上面的代码中,我们使用 `re.escape()` 函数对正则表达式模式进行转义,以避免出现意外的匹配。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)