python 正则匹配银行卡号
时间: 2023-09-11 17:05:05 浏览: 77
以下是一种匹配银行卡号的正则表达式:
```
\b\d{16}|\d{19}\b
```
该正则表达式匹配16位或19位数字,以单词边界(\b)开始和结束,因此不会匹配到包含其他字符的字符串。
示例代码:
```python
import re
pattern = r"\b\d{16}|\d{19}\b"
text = "我的银行卡号是6225888888888888,你的是9558888888888888888。"
matches = re.findall(pattern, text)
print(matches) # ['6225888888888888', '9558888888888888888']
```
相关问题
python正则匹配电话号码
Python正则表达式可以用来匹配电话号码,可以使用re模块中的findall()函数来实现。下面是一个可以匹配多种格式电话号码的正则表达式:
```python
import re
text = "(021)88776543 010-55667890 02584533622 057184720483 837922740"
= re.findall(r'\(?0\d{2,3}[)-]?\d{7,8}', text)
if m:
print(m)
else:
print('not match')
```
正则表达式解释:
- `\(?`:匹配左括号(可选)
- `0\d{2,3}`:匹配以0开头,后面跟2或3个数字的电话区号
- `[)-]?`:匹配右括号或短横线(可选)
- `\d{7,8}`:匹配7或8个数字的电话号码
这个正则表达式可以匹配如下格式的电话号码:
- (021)88776543
- 010-55667890
- 02584533622
- 057184720483
- 837922740
Python正则表达式匹配手机号码
以下是Python正则表达式匹配手机号码的示例代码:
```python
import re
phone_number = input("请输入手机号码:")
pattern = r'^1[3-9]\d{9}$'
match = re.match(pattern, phone_number)
if match:
print("输入的手机号码是有效的。")
else:
print("输入的手机号码无效,请重新输入。")
```
上述代码中,首先导入了Python的re模块,然后通过input()函数获取用户输入的手机号码。接着定义了一个正则表达式模式,该模式可以匹配以1开头的11位数字,其中第二位数字可以是3-9之间的任意一个数字。然后使用re.match()函数对输入的手机号码进行匹配,如果匹配成功,则说明输入的手机号码是有效的,否则说明输入的手机号码无效。