Python 程式札記 : 正則表達式與 JSON 處理

更新於 發佈於 閱讀時間約 6 分鐘

在 Python 中,正則表達式和 JSON 處理,能幫我們有效率的處理文本數據,本文將介紹如何使用正則表達式進行文本分析,以及如何處理和操作JSON數據。

正則表達式

正則表達式可以用來查找、替換或驗證文本模式,它使用特定的語法找出文本中的特定模式。在Python中,則是使用re模組來進行正則表達式的操作。

import re

#尋找文本
text1 = "學習Python正則表達式"
match = re.search("Python", text1)
if match:
print("找到匹配:", match.group()) # 找到匹配: Python

#分割字符串
text2 = "Python,Java,C++"
languages = re.split(r',', text2)
print(languages) # ['Python', 'Java', 'C++']

#替換文本
text3 = "Python 是一種程式語言"
new_text = re.sub(r'Python', 'Java', text3)
print(new_text) # Java 是一種程式語言

常見的正則表達式語法

1. 萬用字元

  • .:比對任意字元。範例:'A.B' 匹配 'ACB', 'ADB' 等。

2. 定位符號

  • ^:比對開頭位置。範例:'^Hello' 匹配以 'Hello' 開頭的字符串。
  • $:比對結尾位置。範例:'end$' 匹配以 'end' 結尾的字符串。

3. 量詞符號

  • *:比對前一個字元 0 到多次。範例:'A*' 匹配 'AAA', 'AA', 'A', 甚至是空字符串。
  • ?:比對前一個字元 0 到 1 次。範例:'A?' 匹配 'A' 或空字符串。
  • +:比對前一個字元 1 到多次。範例:'A+' 匹配 'A', 'AA', 'AAA' 等。
  • {m}:比對前一個字元嚴格 m 次。範例:'A{3}' 僅匹配 'AAA'
  • {m,n}:比對前一個字元嚴格 m 到 n 次。範例:'A{1,3}' 匹配 'A', 'AA', 'AAA'
  • {m,n}?:比對前一個字元嚴格 m 到 n 次,盡量取少。範例:'A{1,3}?' 匹配 'A',而非 'AA''AAA'

4. 分組和範圍

  • ():小括號括住的地方設定為一個分組。範例:'(AB)' 匹配 'AB' 並將其作為一個分組。
  • []:字元集,能表示一定範圍的字元集合。範例:'[A-C]' 匹配 'A', 'B', 'C'

5. 特殊字元和邏輯運算

  • \:正則表達式用的跳脫字元。範例:'\.' 匹配實際的 '.' 字元。
  • |:邏輯中的“或”,比對多個選項中的任一個。範例:'A|B' 匹配 'A''B'
  • \w:比對字母數字及底線。範例:'\w' 匹配 'A', 'b', '1', '_' 等。
  • \W:比對除了字母數字及底線外的字元。範例:'\W' 匹配如 '!', '@', '%' 等。
  • \d:比對數字。範例:'\d' 匹配 '0', '1', '2' 等。
  • \D:比對除了數字外的字元。範例:'\D' 匹配如 'A', 'b', '!' 等。

JSON 處理

JSON是一種數據交換格式,易於閱讀和編寫,也易於程式解析和生成。Python 中的 json 模組提供了處理 JSON 數據的方法。處理 JSON 數據時,最常見的錯誤之一是在讀取或寫入文件時的編碼問題,特別是在處理不同語言環境下的數據時。

import json

# 解析 JSON
json_string1 = '{"name": "Tom", "age": 30, "city": "New York"}'
data1 = json.loads(json_string1)
print(data1) # {'name': 'Tom', 'age': 30, 'city': 'New York'}

# 生成 JSON
data2 = {
"name": "Tom",
"age": 30,
"city": "New York"
}
json_string2 = json.dumps(data2)
print(json_string2) # {'name': 'Tom', 'age': 30, 'city': 'New York'}

😊 感謝你的耐心閱讀,若是你喜歡這篇內容,可以透過以下方式表達你的喜歡 😊

❤️按個愛心|💬留言互動|🔗分享此文|📌追蹤阿梧|☕請喝咖啡

avatar-img
60會員
91內容數
「梧笙」即「吾生」,意即我的生命,朋友都叫我「阿梧(Awu)」,高雄人。我喜歡學習新技能,從程式設計到網路工具,再到社群經營和影片剪輯。日常興趣是打遊戲、看動漫、讀小說和聽音樂。我會把這些興趣寫成文章,如果你有任何想法或問題,歡迎來信到我的郵箱 aowulife109@gmail.com
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
梧笙の領域展開 的其他內容
Python 作為一門廣泛應用的程式語言,提供了多種處理日期和時間的方法和函式庫。本文將介紹 Python 中日期和時間的處理方式,涵蓋基本概念、常用函數,並通過實例來說明其應用。
本文將介紹如何在 Python 中讀取和寫入文本文件,以及如何處理文件操作過程中可能發生的異常,透過具體的程式碼範例來說明這些概念,讓你能夠清楚的理解並運用在實際的程式設計中。
在進行程式設計時,錯誤與異常是無法避免的一部分,理解這些錯誤和異常的處理機制,對於程式設計師來說非常重要。本文將介紹 Python 中的錯誤與異常,以及如何有效使用 try-except 語句來處理這些不可預期的狀況。
物件導向(OOP),不僅提供了更結構化的程式碼組織方式,還有助於提高程式碼的可讀性、可重用性和可維護性。本文將介紹物件導向概念中的類別、對象、繼承、封裝和多型,並透過具體範例來展示這些概念如何在實際編程中應用。
本文將介紹如何在 Python 中導入和使用標準函式庫中的模組,以及如何創建自定義模組和套件。我們將透過具體的例子和程式碼,讓你更好的理解和應用模組和套件。
函式是 Python 程式設計中的非常重要的一環,能夠增強程式碼的可讀性和重用性。本文將介紹函式的基本觀念,包含函式的定義、調用、參數類型、返回值,以及在不同範圍內的行為。
Python 作為一門廣泛應用的程式語言,提供了多種處理日期和時間的方法和函式庫。本文將介紹 Python 中日期和時間的處理方式,涵蓋基本概念、常用函數,並通過實例來說明其應用。
本文將介紹如何在 Python 中讀取和寫入文本文件,以及如何處理文件操作過程中可能發生的異常,透過具體的程式碼範例來說明這些概念,讓你能夠清楚的理解並運用在實際的程式設計中。
在進行程式設計時,錯誤與異常是無法避免的一部分,理解這些錯誤和異常的處理機制,對於程式設計師來說非常重要。本文將介紹 Python 中的錯誤與異常,以及如何有效使用 try-except 語句來處理這些不可預期的狀況。
物件導向(OOP),不僅提供了更結構化的程式碼組織方式,還有助於提高程式碼的可讀性、可重用性和可維護性。本文將介紹物件導向概念中的類別、對象、繼承、封裝和多型,並透過具體範例來展示這些概念如何在實際編程中應用。
本文將介紹如何在 Python 中導入和使用標準函式庫中的模組,以及如何創建自定義模組和套件。我們將透過具體的例子和程式碼,讓你更好的理解和應用模組和套件。
函式是 Python 程式設計中的非常重要的一環,能夠增強程式碼的可讀性和重用性。本文將介紹函式的基本觀念,包含函式的定義、調用、參數類型、返回值,以及在不同範圍內的行為。
你可能也想看
Google News 追蹤
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
ITS python認證內容含蓋六大主題
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
re 模組基本介紹 re 模組是 Python 用來處理正則表達式的標準模組。 正則表達式是一種用於描述字串模式的語法,可以用來匹配、搜尋、分割和替換字串中的特定模式。
Thumbnail
在 Python 中,print( ) 函數用於將結果輸出到螢幕上。當你嘗試將不同資料型別(例如字串和數字)混合在一起輸出時,print( )函數無法直接處理這些不同型別的資料,因此你需要先將它們轉換為相同的資料型別。通常,這意味著需要將數字轉換為字串型別,以便與其他字串一同輸出。 雖然我們也可以
Thumbnail
Python資料視覺化在數據分析中扮演關鍵角色,透過視覺化捕捉數據模式、趨勢和異常,透過Matplotlib等工具創建專業圖表變相對簡單和高效。
Thumbnail
本文介紹了在進行資料分析時,將類別欄位轉換為數值欄位的方法,包括Label Encoding、One-Hot Encoding、Binary Encoding、Target Encoding和Frequency Encoding。每種方法的應用範例、優缺點和適用場景都有詳細說明。
解讀JSON 字串 首先,你需要使用 Python 的 json 模組來解讀JSON 字串。 JSON的基本結構: 由花括號 {} 包圍,內部是鍵值對的集合,每個鍵值對之間用逗號分隔。 鍵是字串類型,值可以是任何JSON支持的資料類型(字串、數字、布林值、陣列、物件或 null)。 {
ITS python認證內容含蓋六大主題
Thumbnail
JSON(JavaScript Object Notation)是一種用於資料交換的輕量級資料格式,通常用於網路應用程式之間的資料傳遞。 JSON的格式易於閱讀和撰寫,也易於解析和產生,因此它在開發中被廣泛使用。 JSON由兩種結構組成:物件(Object)和陣列(Array)。
Thumbnail
今天來介紹python的函式 函式在python中是非常重要的一環,因為到了後期,程式會越來越複雜。 而函式可以想成是容易管理的小程式,當我們需要使用時,只需呼叫即可。
Thumbnail
本文介紹了如何使用資料樞紐分析的功能來整理所需的資料,並設定圖表的中文字型,最後提供了繪圖的程式碼範例。
Thumbnail
本文將介紹自定函式及應用,利用程式範例解釋為什麼要用到自定函式 自定函式好處當然就是,讓你的程式碼看起來比較簡潔,在重複使用到的程式碼區塊,可以包裝成函式,讓你重複使用它。