为什么if语句不运行了?求大神帮助

import re
pattern = r'(津)|(京)|(沪)'
num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
for item in num:
    print(item)
    a = re.search(pattern,item)
    if a=='津':
        print('这张车牌归宿地为:天津')
    if a=='京':
        print('这张车牌归宿地为:北京')
    if a=='沪':
        print('这张车牌归宿地为:上海')
   

 

import re
pattern = r'(津)|(京)|(沪)'
num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
for item in num:
    print(item)
    a = re.search(pattern,item)[0]
#     a = re.search(pattern,item).group(0)这两种都可以用
    if a=='津':
        print('这张车牌归宿地为:天津')
    if a=='京':
        print('这张车牌归宿地为:北京')
    if a=='沪':
        print('这张车牌归宿地为:上海')

改成re.search(pattern,item).group()

# 导入re模块
    import re

    # 使用match方法进行匹配操作
    result = re.match(正则表达式,要匹配的字符串)

    # 如果上一步匹配到数据的话,可以使用group方法来提取数据
    result.group()
import re
pattern = '[(津)|(京)|(沪)]'
num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
for item in num:
    print(item)
    a = re.findall(pattern, item)[0]
    if a=='津':
        print('这张车牌归宿地为:天津')
    if a=='京':
        print('这张车牌归宿地为:北京')
    if a=='沪':
        print('这张车牌归宿地为:上海')

import re
pattern = '[(津)|(京)|(沪)]'
num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
for item in num:
    print(item)
    a = re.findall(pattern, item)[0]
    if a=='津':
        print('这张车牌归宿地为:天津')
    if a=='京':
        print('这张车牌归宿地为:北京')
    if a=='沪':
        print('这张车牌归宿地为:上海')

 

import re

pattern = r'(津)|(京)|(沪)'
num = ['津A.12345', '京A.12345','沪A.12345']

print(num)

for item in num:

    print(item)
    a = re.search(pattern,item) # a返回的是match对象要用group方法取出字符串
    if a.group()=='津':
        print('这张车牌归宿地为:天津')
    if a.group()=='京':
        print('这张车牌归宿地为:北京')
    if a.group()=='沪':
        print('这张车牌归宿地为:上海')

😫

直接使用 python 字符串运算符   in

#!/usr/bin/python
# -*- coding: UTF-8 -*-

pattern = r'(津)|(京)|(沪)'
num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
for item in num:
    print(item)
    if '津' in item:
        print('这张车牌归宿地为:天津')
    elif '京' in item:
        print('这张车牌归宿地为:北京')
    elif '沪' in item:
        print('这张车牌归宿地为:上海')
    else:
        pass

 

如果你只是为了学正则的话,忽略我的回答。

我把代码改了,使用字典来维护你的车牌与地区的对应关系,这样即使是对很多的城市也不需要一个判断:

num = ['津A.12345', '京A.12345','沪A.12345']
print(num)
d = {
    "津": "天津",
    "京": "北京",
    "沪": "上海"
}
for item in num:
    print(item)
    if item[0] in d:
        print('这张车牌归宿地为:'+d[item[0]])

请使用

 

if a:

xxx

elif b:

xxx

else:

xxx

谢谢各位大佬