Python正則匹配中文

一隻勤奮愛思考的豬發表於2018-07-30

參考:https://blog.csdn.net/ss300400a/article/details/64123499

REGEX = u’[^\u2E80-\u9FFFa-zA-Z0-9\uFF10-\uFF19\uFF41-\uFF5a()()]’

 [\u2E80-\u9FFF]+$ 匹配所有東亞區的語言,包含生僻字
 [\u4E00-\u9FFF]+$ 匹配簡體和繁體,不包含生僻字
 [\u4E00-\u9FA5]+$ 匹配簡體

例子:

    /**
     * 校驗是否全部是中文
     * 校驗規則:賬號中只能是有中文。
     * @param zj
     * @return 失敗FALSE,成功:TRUE
     */
    public boolean JGZ(String zj){
        boolean flog = false;
         Matcher m = Pattern.compile("[\u2E80-\u9FFF]*").matcher(zj);  
        if(m.matches()){  
            flog = true;
        }
        return flog;
    }

 [\uFF10-\uFF19] 這個能匹配全形0~9的數


    private static final String E1 = "^[A-Za-z\uFF41-\uFF5A\uFF21-\uFF3A]+$";//英文字母
    private static final String E2 = "^[0-9\uFF10-\uFF19]*$";//數字
    private static final String E3 = "[\\s\\p{Zs}]";//空格
    private static final String E4 = "[\u4e00-\u9fa5]";//中文

幣種換算:

exchange_rate = {
    '美元' : 0.1466,
    '香港元' : 1.1484,
    '歐元':0.1256,
    '日元':16.2526,
    '澳大利亞元': 0.1988,
    '新加坡元':0.2055,
    '英鎊':0.1117,
    '阿富汗尼':0.0940,
    '加元':19.1211,
    '德國馬克':3.8240,
    '瑞士法郎': 0.1511,
    '法國法郎':0.1511,

    '丹麥克朗':0.9696,
    '韓國圓':168.2021,
    '港幣':1.1484,
    '新臺灣元':4.4797 ,
    '瑞典克朗':1.2741,
    '紐西蘭元':0.2150,
    '澳門元':1.1823,
    '挪威克朗': 1.2331,
    '葛摩法郎':64.0730}

print(exchange_rate.keys())
# exchange_rate = {key.decode("utf-8"):value for key, value in exchange_rate.items()}


print(exchange_rate.keys())
print(exchange_rate)

def exchage(before_money,bz):
    if bz in exchange_rate.keys():
        after_money = before_money/exchange_rate[bz]
        return after_money,'人民幣'
    else:
        return before_money,bz
a = exchage(10,'美元')
print(a)

# print('美元' in ['美元','澳門元'])
#
# print('美元' in exchange_rate.keys())

相關文章