最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python匹配中文數(shù)字的方法詳解

 更新時(shí)間:2026年04月01日 08:26:59   作者:detayun  
在處理中文文本時(shí),經(jīng)常需要識別或提取 中文數(shù)字,Python 的正則表達(dá)式(re 模塊)可以高效地完成這一任務(wù),本文將介紹 如何用 Python 匹配中文數(shù)字,需要的朋友可以參考下

引言

在處理中文文本時(shí),經(jīng)常需要識別或提取 中文數(shù)字(如 一、二、三、十、百、千 等)。Python 的正則表達(dá)式(re 模塊)可以高效地完成這一任務(wù)。本文將介紹 如何用 Python 匹配中文數(shù)字,包括 基本匹配、范圍匹配、嚴(yán)格匹配 以及 常見應(yīng)用場景

1. 什么是中文數(shù)字?

中文數(shù)字包括:

  • 基本數(shù)字零、一、二、三、四、五、六、七、八、九
  • 十進(jìn)制單位十、百、千、萬、億
  • 組合形式十一、二十、一百、一千、一萬
  • 大寫數(shù)字(財(cái)務(wù)常用):壹、貳、叁、肆、伍、陸、柒、捌、玖

本文主要討論 基本中文數(shù)字)的匹配,但方法可以擴(kuò)展到更復(fù)雜的數(shù)字。

2. 基本匹配:單個(gè)中文數(shù)字

2.1 匹配一到十

使用 [一二三四五六七八九十] 可以匹配單個(gè)中文數(shù)字:

import re

text = "一二三、四五六、七八九十"
pattern = r'[一二三四五六七八九十]'

matches = re.findall(pattern, text)
print(matches)  # 輸出: ['一', '二', '三', '四', '五', '六', '七', '八', '九', '十']

2.2 匹配零到九

如果只需要 (不包括 ):

pattern = r'[零一二三四五六七八九]'
matches = re.findall(pattern, "零一二三四五六七八九")
print(matches)  # 輸出: ['零', '一', '二', '三', '四', '五', '六', '七', '八', '九']

3. 范圍匹配:一到十的多個(gè)數(shù)字

3.1 匹配1~3個(gè)中文數(shù)字

使用 {1,3} 限定匹配 1~3 個(gè) 中文數(shù)字:

text = "一二三、四五六、七八九十、十一"
pattern = r'[一二三四五六七八九十]{1,3}'

matches = re.findall(pattern, text)
print(matches)  # 輸出: ['一二三', '四五六', '七八九', '十', '十一']

問題十一 被拆分成 (因?yàn)?{1,3} 是貪婪匹配)。

3.2 嚴(yán)格匹配1~3個(gè)連續(xù)中文數(shù)字

如果希望 十一 被視為一個(gè)整體,可以:

pattern = r'(?:[一二三四五六七八九]|十[一二三四五六七八九]?){1,3}'
matches = re.findall(pattern, "一二三、四五六、七八九十、十一")
print(matches)  # 輸出: ['一二三', '四五六', '七八九十', '十一']

解釋

  • [一二三四五六七八九] → 匹配
  • 十[一二三四五六七八九]? → 匹配 十一十九
  • (?:...) → 非捕獲分組(僅匹配,不提取)
  • {1,3} → 匹配 1~3 次

4. 嚴(yán)格匹配:一到九十九

4.1 匹配1~99的中文數(shù)字

中文數(shù)字 1~99 的規(guī)則:

  • 1~9
  • 10~19十九
  • 20~99二十九十九(但 二十 不能寫成 二二十

正則表達(dá)式:

pattern = r'^([一二三四五六七八九]|十[一二三四五六七八九]?|二十|三十|四十|五十|六十|七十|八十|九十)$'

優(yōu)化版(更簡潔):

pattern = r'^([一二三四五六七八九]|十[一二三四五六七八九]?|[二三四五六七八九十]十)$'
matches = re.findall(pattern, ["一", "十", "十一", "二十", "九十九", "一百"])
print(matches)  # 輸出: ['一', '十', '十一', '二十', '九十九']

問題一百 不匹配(因?yàn)槌龇秶?/p>

4.2 更通用的1~99匹配

pattern = r'^([一二三四五六七八九]|十[一二三四五六七八九]?|[二三四五六七八九十]十|[二三四五六七八九十][一二三四五六七八九])$'
matches = re.findall(pattern, ["一", "十", "十一", "二十", "二十一", "九十九", "一百"])
print(matches)  # 輸出: ['一', '十', '十一', '二十', '二十一', '九十九']

解釋

  • [一二三四五六七八九]1~9
  • 十[一二三四五六七八九]?10~19
  • [二三四五六七八九十]十20~90(如 二十、三十
  • [二三四五六七八九十][一二三四五六七八九]21~99(如 二十一九十九

5. 匹配中文數(shù)字 + 標(biāo)點(diǎn)符號

5.1 匹配一、二.三等

常見場景:章節(jié)標(biāo)題、編號(如 一、 二. )。

text = "一、引言 二.背景 三 方法"
pattern = r'([一二三四五六七八九十]+)[、. ]'

matches = re.findall(pattern, text)
print(matches)  # 輸出: ['一', '二', '三']

優(yōu)化版(匹配整個(gè)編號 + 標(biāo)點(diǎn)):

pattern = r'([一二三四五六七八九十]+)[、. ]'
for match in re.finditer(pattern, text):
    print(f"數(shù)字: {match.group(1)}, 標(biāo)點(diǎn): {match.group(2)}")

輸出

數(shù)字: 一, 標(biāo)點(diǎn): 、
數(shù)字: 二, 標(biāo)點(diǎn): .
數(shù)字: 三, 標(biāo)點(diǎn):  

5.2 嚴(yán)格匹配一、十.二十一

text = "一、 十. 二十一 二十二、 九十九. 一百"
pattern = r'([一二三四五六七八九]|十[一二三四五六七八九]?|[二三四五六七八九十][一二三四五六七八九]?)[、. ]'

matches = re.findall(pattern, text)
print(matches)  # 輸出: ['一', '十', '二十一', '二十二', '九十九']

6. 完整代碼示例

6.1 匹配1~99的中文數(shù)字

import re

def match_chinese_numbers(text):
    pattern = r'([一二三四五六七八九]|十[一二三四五六七八九]?|[二三四五六七八九十]十|[二三四五六七八九十][一二三四五六七八九])'
    matches = re.findall(pattern, text)
    return matches

text = "一 十 十一 二十 二十一 九十九 一百"
print(match_chinese_numbers(text))  # 輸出: ['一', '十', '十一', '二十', '二十一', '九十九']

6.2 匹配中文數(shù)字 + 標(biāo)點(diǎn)符號

def match_chinese_numbers_with_punctuation(text):
    pattern = r'([一二三四五六七八九十]+)[、. ]'
    matches = []
    for match in re.finditer(pattern, text):
        matches.append((match.group(1), match.group(2)))
    return matches

text = "一、引言 十.背景 二十一 方法"
print(match_chinese_numbers_with_punctuation(text))
# 輸出: [('一', '、'), ('十', '.'), ('二十一', ' ')]

7. 總結(jié)

需求正則表達(dá)式示例匹配
匹配 [一二三四五六七八九十], ,
匹配 1~3 個(gè)中文數(shù)字[一二三四五六七八九十]{1,3}一二三,
匹配 1~99 的中文數(shù)字`([一二三四五六七八九]十[一二三四五六七八九]?
匹配 一、 十. 二十一 ([一二三四五六七八九十]+)[、. ]一、, 十., 二十一

關(guān)鍵點(diǎn)

  1. 基本匹配[一二三四五六七八九十] 匹配單個(gè)數(shù)字。
  2. 范圍匹配{1,3} 限定匹配 1~3 個(gè)數(shù)字。
  3. 嚴(yán)格匹配:使用 十[一二三四五六七八九]? 匹配 10~19。
  4. 標(biāo)點(diǎn)符號匹配[、. ] 匹配 、、. 或空格。

8. 擴(kuò)展應(yīng)用

  • 中文數(shù)字轉(zhuǎn)阿拉伯?dāng)?shù)字(如 "二十三"23
  • 提取中文金額(如 "壹佰貳拾叁元"123
  • 自然語言處理(NLP) 中的中文數(shù)字識別

以上就是使用Python匹配中文數(shù)字的方法詳解的詳細(xì)內(nèi)容,更多關(guān)于Python匹配中文數(shù)字的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 如何使用pytorch實(shí)現(xiàn)LocallyConnected1D

    如何使用pytorch實(shí)現(xiàn)LocallyConnected1D

    由于LocallyConnected1D是Keras中的函數(shù),為了用pytorch實(shí)現(xiàn)LocallyConnected1D并在960×33的數(shù)據(jù)集上進(jìn)行訓(xùn)練和驗(yàn)證,本文分步驟給大家介紹如何使用pytorch實(shí)現(xiàn)LocallyConnected1D,感興趣的朋友一起看看吧
    2023-09-09
  • python中的selenium入門超詳細(xì)教程

    python中的selenium入門超詳細(xì)教程

    這篇文章主要介紹了python中的selenium入門超詳細(xì)教程,本文是在python環(huán)境下使用selenium,使用瀏覽器是Chrome,系統(tǒng)是win10系統(tǒng),需要的朋友可以參考下
    2023-11-11
  • Python現(xiàn)代項(xiàng)目開發(fā)之uv安裝配置與最佳實(shí)踐指南

    Python現(xiàn)代項(xiàng)目開發(fā)之uv安裝配置與最佳實(shí)踐指南

    uv?是由?Astral?公司開發(fā)的?Rust?編寫的?Python?工具鏈,核心優(yōu)勢是極速,功能全面,下面小編就和大家詳細(xì)介紹一下uv安裝配置與最佳實(shí)踐
    2026-03-03
  • 新手必備Python開發(fā)環(huán)境搭建教程

    新手必備Python開發(fā)環(huán)境搭建教程

    今天向大家介紹如何搭建Python開發(fā)環(huán)境, Python可應(yīng)用于多平臺包括 Linux 和 Mac OS X,文中有非常詳細(xì)的圖文介紹,需要的朋友可以參考下
    2021-05-05
  • Python+Pygame制作簡易版2048小游戲

    Python+Pygame制作簡易版2048小游戲

    2048作為經(jīng)典的手機(jī)端游戲一直深受大家的喜愛,本文將利用Python中的Pygame模塊制作簡單版的2048游戲,感興趣的小伙伴可以了解一下
    2022-02-02
  • Python中IPYTHON入門實(shí)例

    Python中IPYTHON入門實(shí)例

    這篇文章主要介紹了Python中IPYTHON的用法入門,較為詳細(xì)的分析了IPYTHON的配置及使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • Python中生成真隨機(jī)數(shù)的3種安全方式

    Python中生成真隨機(jī)數(shù)的3種安全方式

    在編程中,隨機(jī)數(shù)被廣泛應(yīng)用于模擬、游戲開發(fā)、密碼學(xué)和機(jī)器學(xué)習(xí)等領(lǐng)域,Python 提供了內(nèi)置的 random模塊,用于生成偽隨機(jī)數(shù),下面小編就和大家詳細(xì)介紹一下Python實(shí)現(xiàn)生成隨機(jī)數(shù)的詳細(xì)方法吧
    2026-03-03
  • Python+pandas計(jì)算數(shù)據(jù)相關(guān)系數(shù)的實(shí)例

    Python+pandas計(jì)算數(shù)據(jù)相關(guān)系數(shù)的實(shí)例

    今天小編就為大家分享一篇Python+pandas計(jì)算數(shù)據(jù)相關(guān)系數(shù)的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-07-07
  • python讀取和保存視頻文件

    python讀取和保存視頻文件

    這篇文章主要為大家詳細(xì)介紹了python讀取顯示和保存視頻文件,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • python按行讀取文件,去掉每行的換行符\n的實(shí)例

    python按行讀取文件,去掉每行的換行符\n的實(shí)例

    下面小編就為大家分享一篇python按行讀取文件,去掉每行的換行符\n的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04

最新評論

潢川县| 枣阳市| 都江堰市| 屯留县| 日土县| 庐江县| 曲阜市| 湛江市| 玉树县| 建水县| 利津县| 巴马| 莱芜市| 湟中县| 郴州市| 洞头县| 横山县| 右玉县| 七台河市| 扶沟县| 双桥区| 芦山县| 鄂托克前旗| 扶风县| 阿坝| 彭州市| 闽侯县| 肇州县| 阜平县| 从江县| 乐至县| 丹阳市| 金川县| 平和县| 巍山| 沧州市| 尉氏县| 漳浦县| 德庆县| 泉州市| 稻城县|