Mẹo Làm cách nào để trích xuất một chuỗi giữa hai ký hiệu trong python?
Mẹo Hướng dẫn Làm cách nào để trích xuất một chuỗi giữa hai ký hiệu trong python? Chi Tiết
Hoàng Gia Trọng Phúc đang tìm kiếm từ khóa Làm cách nào để trích xuất một chuỗi giữa hai ký hiệu trong python? được Cập Nhật vào lúc : 2022-12-23 10:26:04 . Với phương châm chia sẻ Thủ Thuật về trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi tham khảo tài liệu vẫn ko hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Mình lý giải và hướng dẫn lại nha.Một nơi mà ngôn từ Python thực sự tỏa sáng là thao tác với những chuỗi. Phần này sẽ đề cập đến một số trong những phương thức chuỗi tích hợp sẵn của Python và những thao tác định dạng, trước khi chuyển sang hướng dẫn nhanh về chủ đề cực kỳ hữu ích của biểu thức chính quy. Các mẫu thao tác chuỗi như vậy thường xuất hiện trong ngữ cảnh của việc làm khoa học tài liệu và là một quyền lợi lớn của Python trong ngữ cảnh này
Nội dung chính Show- Thao tác chuỗi đơn giản trong Python¶Định dạng chuỗi. Vỏ điều chỉnh¶Định dạng chuỗi. Thêm và xóa dấu cách¶Tìm và thay thế những chuỗi con¶Tách và phân vùng chuỗi¶Định dạng Chuỗi¶Khớp mẫu linh hoạt với biểu thức chính quy¶Một ví dụ phức tạp hơn¶Khái niệm cơ bản về cú pháp biểu thức chính quy¶Các tài nguyên khác về biểu thức chính quy¶
Chuỗi trong Python hoàn toàn có thể được xác định bằng phương pháp sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép (chúng tương đương về mặt hiệu suất cao)
Trong 1]
x = 'a string' y = "a string" x == yRa[1]
TrueNgoài ra, hoàn toàn có thể xác định những chuỗi nhiều dòng bằng cú pháp trích dẫn ba lần
Trong 2]
multiline = """ one two three """Với điều này, tất cả chúng ta hãy xem nhanh một số trong những công cụ thao tác chuỗi của Python
Thao tác chuỗi đơn giản trong Python¶
Đối với những thao tác cơ bản đối với chuỗi, những phương thức chuỗi tích hợp sẵn của Python hoàn toàn có thể cực kỳ thuận tiện. Nếu bạn có nền tảng thao tác với C hoặc một ngôn từ thấp cấp khác, bạn hoàn toàn có thể sẽ thấy sự đơn giản trong những phương thức của Python cực kỳ mới mẻ. Chúng tôi đã ra mắt kiểu chuỗi của Python và một số trong những phương thức này trước đó;
Định dạng chuỗi. Vỏ điều chỉnh¶
Python làm cho nó khá thuận tiện và đơn giản để điều chỉnh trường hợp của một chuỗi. Ở đây tất cả chúng ta sẽ xem xét những phương thức
True21, True22, True23, True24 và True25, sử dụng chuỗi lộn xộn sau đây làm ví dụTrong 3]
________số 8
Để chuyển toàn bộ chuỗi thành chữ hoa hoặc chữ thường, bạn hoàn toàn có thể sử dụng phương thức
True21 hoặc True22 tương ứngTrong [4]
True1Ra[4]
True2Trong [5]
True3Ra[5]
True4Một nhu yếu định dạng phổ biến là chỉ viết hoa vần âm đầu tiên của mỗi từ hoặc hoàn toàn có thể là vần âm đầu tiên của mỗi câu. Điều này hoàn toàn có thể được thực hiện với những phương pháp
True24 và True23Trong [6]
True7Ra[6]
True8Trong [7]
True0Ra[7]
True1Các trường hợp hoàn toàn có thể được hoán đổi bằng phương pháp
True25Trong [8]
True2Ra[8]
True3Định dạng chuỗi. Thêm và xóa dấu cách¶
Một nhu yếu phổ biến khác là xóa khoảng chừng trắng (hoặc những ký tự khác) khỏi đầu hoặc cuối chuỗi. Phương thức cơ bản để vô hiệu những ký tự là phương thức
True31, vô hiệu khoảng chừng trắng ở đầu và cuối dòngTrong [9]
True4Ra[9]
True5Để chỉ xóa khoảng chừng trống ở bên phải hoặc bên trái, hãy sử dụng
True32 hoặc True33 tương ứngTrong [10]
True6Ra[10]
True7Trong [11]
True8Ra[11]
True9Để xóa những ký tự không phải là khoảng chừng trắng, bạn hoàn toàn có thể chuyển ký tự mong ước sang phương thức
True31Trong [12]
multiline = """ one two three """ 0Ra[12]
multiline = """ one two three """ 1trái lại với thao tác này, thêm dấu cách hoặc những ký tự khác, hoàn toàn có thể được thực hiện bằng những phương thức
True35, True36 và True37Ví dụ: tất cả chúng ta hoàn toàn có thể sử dụng phương thức
True35 để căn giữa một chuỗi đã cho trong một số trong những khoảng chừng trắng nhất địnhTrong [13]
multiline = """ one two three """ 2Ra[13]
multiline = """ one two three """ 3Tương tự,
True36 và True37 sẽ căn trái hoặc căn phải cho chuỗi trong khoảng chừng cách có độ dài nhất địnhTrong [14]
multiline = """ one two three """ 4Ra[14]
multiline = """ one two three """ 5Trong [15]
multiline = """ one two three """ 6Ra[15]
multiline = """ one two three """ 7Tất cả những phương thức này cũng đồng ý bất kỳ ký tự nào sẽ được sử dụng để lấp đầy khoảng chừng trống. Ví dụ
Trong [16]
multiline = """ one two three """ 8Ra[16]
multiline = """ one two three """ 9Bởi vì điền số không là một nhu yếu phổ biến, Python cũng đáp ứng
True41, đây là một phương pháp đặc biệt để đệm bên phải một chuỗi có số khôngTrong [17]
fox = "tHe qUICk bROWn fOx." 0Ra[17]
multiline = """ one two three """ 9Tìm và thay thế những chuỗi con¶
Nếu bạn muốn tìm mỗi lần xuất hiện của một ký tự nhất định trong một chuỗi, thì những phương thức
True42/True43, True44/True45 và True46 là những phương thức tích hợp sẵn tốt nhấtTrue42 và True44 rất giống nhau, ở chỗ chúng tìm kiếm sự xuất hiện đầu tiên của một ký tự hoặc chuỗi con trong một chuỗi và trả về chỉ mục của chuỗi conTrong [18]
fox = "tHe qUICk bROWn fOx." 2Hết[18]
fox = "tHe qUICk bROWn fOx." 3Trong 19]
fox = "tHe qUICk bROWn fOx." 4Hết[19]
fox = "tHe qUICk bROWn fOx." 3Sự khác lạ duy nhất giữa
True42 và True44 là hành vi của chúng lúc không tìm thấy chuỗi tìm kiếm;Trong 20]
fox = "tHe qUICk bROWn fOx." 6Hết[20]
fox = "tHe qUICk bROWn fOx." 7Trong [21]
fox = "tHe qUICk bROWn fOx." 8fox = "tHe qUICk bROWn fOx." 9True43 và True45 có liên quan hoạt động và sinh hoạt giải trí tương tự, ngoại trừ chúng tìm kiếm lần xuất hiện đầu tiên từ cuối thay vì đầu chuỗiTrong [22]
True10Hết[22]
True11Đối với trường hợp đặc biệt kiểm tra chuỗi con ở đầu hoặc cuối chuỗi, Python đáp ứng những phương thức
True57 và True58Trong [23]
True12Hết[23]
TrueTrong [24]
True14Ra[24]
True15Để tiến thêm một bước và thay thế một chuỗi con đã cho bằng một chuỗi mới, bạn hoàn toàn có thể sử dụng phương thức
True46. Ở đây, hãy thay thế True60 bằng True61Trong [25]
True16Hết[25]
True17Hàm
True46 trả về một chuỗi mới và sẽ thay thế tất cả mỗi lần xuất hiện của đầu vàoTrong [26]
True18Hết[26]
True19Để có cách tiếp cận linh hoạt hơn với hiệu suất cao
True46 này, hãy xem phần thảo luận về biểu thức chính quy trong Khớp mẫu linh hoạt với biểu thức chính quyTách và phân vùng chuỗi¶
Nếu bạn muốn tìm một chuỗi con và sau đó tách chuỗi nhờ vào vị trí của nó, những phương thức
True64 và/hoặc True65 là những gì bạn đang tìm kiếm. Cả hai sẽ trả về một chuỗi những chuỗi conPhương thức
True64 trả về một bộ có ba phần tử. chuỗi con trước phiên bản đầu tiên của điểm chia, chính điểm chia và chuỗi con sauTrong [27]
True20Ra[27]
True21Phương thức
True67 cũng tương tự nhưng tìm từ bên phải chuỗiPhương pháp
True65 có lẽ rằng hữu ích hơn; . Mặc định là tách trên bất kỳ khoảng chừng trắng nào, trả về list những từ riêng lẻ trong một chuỗiTrong [28]
True22Hết[28]
True23Một phương pháp có liên quan là
True69, phân tách trên những ký tự dòng mới. Hãy làm điều này với một bài Haiku, được cho là phổ biến của nhà thơ thế kỷ 17 Matsuo BashōTrong [29]
True24Hết[29]
True25Lưu ý rằng nếu bạn muốn hoàn tác một
True65, bạn hoàn toàn có thể sử dụng phương thức True71, phương thức này trả về một chuỗi được tạo từ một điểm phân tách và một lần lặpTrong [30]
True26Ra[30]
True27Một mẫu phổ biến là sử dụng ký tự đặc biệt
True72 (dòng mới) để nối những dòng đã được tách trước đó lại với nhau và Phục hồi đầu vàoTrong [31]
True28True29Định dạng Chuỗi¶
Trong những phương pháp trước, tất cả chúng ta đã học cách trích xuất những giá trị từ những chuỗi và tự thao tác những chuỗi thành những định dạng mong ước. Một cách sử dụng khác của những phương thức chuỗi là thao tác màn biểu diễn chuỗi những giá trị của nhiều chủng loại khác. Tất nhiên, luôn hoàn toàn có thể tìm thấy những màn biểu diễn chuỗi bằng phương pháp sử dụng hàm
True73;Trong [32]
True30Ra[32]
True31Đối với những định dạng phức tạp hơn, bạn hoàn toàn có thể muốn sử dụng số học chuỗi như được nêu trong Ngữ nghĩa Python cơ bản. nhà điều hành
Trong [33]
True32Ra[33]
True33Một cách linh hoạt hơn để thực hiện việc này là sử dụng những chuỗi định dạng, là những chuỗi có dấu đặc biệt (được đánh dấu bằng dấu ngoặc nhọn) trong đó những giá trị có định dạng chuỗi sẽ được chèn vào. Đây là một ví dụ cơ bản
Trong [34]
True34Ra[34]
True33Bên trong điểm đánh dấu
True74, bạn cũng hoàn toàn có thể gồm có thông tin về đúng chuẩn những gì bạn muốn xuất hiện ở đó. Nếu bạn gồm có một số trong những, nó sẽ tham chiếu đến chỉ mục của đối số để chènTrong [35]
True36Ra[35]
True37Nếu bạn gồm có một chuỗi, nó sẽ tham chiếu đến khóa của bất kỳ đối số từ khóa nào
Trong [36]
True38Ra[36]
True37Cuối cùng, đối với đầu vào số, bạn hoàn toàn có thể gồm có mã định dạng trấn áp cách giá trị được quy đổi thành chuỗi. Ví dụ: để in một số trong những dưới dạng dấu phẩy động có ba chữ số sau dấu thập phân, bạn hoàn toàn có thể sử dụng cách sau
Trong [37]
True40Ra[37]
True41Như trước đây, ở đây "
True75" đề cập đến chỉ mục của giá trị được chèn vào. Dấu "______176" mà mã định dạng sẽ tuân theo. "______177" mã hóa độ đúng chuẩn mong ước. ba chữ số ngoài dấu thập phân, định dạng dấu phẩy độngKiểu đặc tả định dạng này rất linh hoạt và những ví dụ ở đây hầu như không làm nổi bật mặt phẳng của những tùy chọn định dạng có sẵn. Để biết thêm thông tin về cú pháp của những chuỗi định dạng này, hãy xem phần Đặc tả định dạng trong tài liệu trực tuyến của Python
Khớp mẫu linh hoạt với biểu thức chính quy¶
Các phương thức kiểu
True78 của Python đáp ứng cho bạn một bộ công cụ mạnh mẽ và tự tin để định dạng, tách và thao tác tài liệu chuỗi. Nhưng thậm chí còn tồn tại nhiều công cụ mạnh mẽ và tự tin hơn trong mô-đun biểu thức chính quy tích hợp sẵn của Python. Cụm từ thông dụng là một chủ đề lớn; . F. Friedl’s Mastering Regular Expressions, 3rd Edition), vì vậy sẽ khó hoàn toàn có thể thực hiện công minh chỉ trong một tiểu mục.Mục tiêu của tôi ở đây là đáp ứng cho bạn ý tưởng về nhiều chủng loại vấn đề hoàn toàn có thể được xử lý và xử lý bằng biểu thức chính quy, cũng như ý tưởng cơ bản về cách sử dụng chúng trong Python. Tôi sẽ đề xuất một số trong những tài liệu tham khảo để tìm hiểu thêm trong Tài nguyên tương hỗ update về Biểu thức chính quy
Về cơ bản, biểu thức chính quy là phương tiện khớp mẫu linh hoạt trong chuỗi. Nếu bạn thường xuyên sử dụng dòng lệnh, có lẽ rằng bạn đã quen với kiểu khớp linh hoạt này với ký tự "
True79", hoạt động và sinh hoạt giải trí như một ký tự đại diện. Ví dụ: tất cả chúng ta hoàn toàn có thể liệt kê tất cả sổ ghi chép IPython (i. e. , tệp có phần mở rộng. ipynb) với "Python" trong tên tệp của chúng bằng phương pháp sử dụng ký tự đại diện "True79" để khớp với bất kỳ ký tự nào ở giữaTrong [38]
True42True43Các biểu thức chính quy khái quát hóa ý tưởng "ký tự đại diện" này cho một loạt những cú pháp khớp chuỗi linh hoạt. Giao diện Python với những biểu thức chính quy được chứa trong mô-đun
True81 tích hợp sẵn;Trong [39]
True44Hết[39]
True23Ở đây, trước tiên chúng tôi đã biên soạn một biểu thức chính quy, sau đó sử dụng nó để tách một chuỗi. Giống như phương thức
True65 của Python trả về list tất cả những chuỗi con giữa khoảng chừng trắng, phương thức True65 của biểu thức chính quy trả về list tất cả những chuỗi con Một trong những kết quả khớp với mẫu đầu vàoTrong trường hợp này, đầu vào là
True85. "True86" là một ký tự đặc biệt khớp với bất kỳ khoảng chừng trắng nào (dấu cách, tab, dòng mới, v.v. ) và "______187" là ký tự cho biết thêm thêm một hoặc nhiều thực thể đứng trước nó. Do đó, biểu thức chính quy khớp với bất kỳ chuỗi con nào gồm có một hoặc nhiều khoảng chừng trắngPhương pháp
True65 ở đây về cơ bản là một thói quen tiện lợi được xây dựng nhờ vào hành vi khớp mẫu này;Trong [40]
True46True47Giống như
True65, có những quy trình thuận tiện tương tự để tìm kết quả khớp đầu tiên (như True91 hoặc True92) hoặc để tìm và thay thế (như True93). Chúng ta sẽ lại sử dụng dòng từ trướcTrong [41]
True48Với điều này, tất cả chúng ta hoàn toàn có thể thấy rằng phương pháp
True94 hoạt động và sinh hoạt giải trí rất giống với True91 hoặc True92Trong [42]
fox = "tHe qUICk bROWn fOx." 4Ra[42]
fox = "tHe qUICk bROWn fOx." 3Trong [43]
True71Ra[43]
fox = "tHe qUICk bROWn fOx." 3Tương tự, phương pháp
True97 hoạt động và sinh hoạt giải trí in như True93Trong [44]
True73Ra[44]
True74Trong [45]
True75Ra[45]
True74Với một chút ít suy nghĩ, những hoạt động và sinh hoạt giải trí sinh hoạt chuỗi gốc khác cũng hoàn toàn có thể được chuyển thành biểu thức chính quy
Một ví dụ phức tạp hơn¶
Tuy nhiên, bạn hoàn toàn có thể hỏi, tại sao bạn lại muốn sử dụng cú pháp dài dòng và phức tạp hơn của những biểu thức chính quy thay vì những phương thức chuỗi đơn giản và trực quan hơn?
Ở đây tất cả chúng ta sẽ xem xét một ví dụ phức tạp hơn. trách nhiệm phổ biến là khớp những địa chỉ email. Tôi sẽ khởi đầu bằng phương pháp đơn giản là viết một biểu thức chính quy (hơi khó hiểu), sau đó xem qua những gì đang ra mắt. Nó đi từ đây
Trong [46]
True77Sử dụng điều này, nếu chúng tôi được đáp ứng một dòng từ tài liệu, chúng tôi hoàn toàn có thể nhanh gọn trích xuất những thứ trông in như địa chỉ email
Trong [47]
True78Ra[47]
True79(Lưu ý rằng những địa chỉ này hoàn toàn được tạo ra; có lẽ rằng có nhiều cách thức tốt hơn để liên lạc với Guido)
Chúng tôi hoàn toàn có thể thực hiện những thao tác khác, ví dụ như thay thế những địa chỉ email này bằng một chuỗi khác, có lẽ rằng để ẩn địa chỉ trong đầu ra
Trong [48]
True80Ra[48]
True81Cuối cùng, lưu ý rằng nếu bạn thực sự muốn khớp với bất kỳ địa chỉ email nào, biểu thức chính quy trước đó quá đơn giản. Ví dụ: nó chỉ được cho phép những địa chỉ được tạo bằng những ký tự chữ và số kết thúc bằng một trong số những hậu tố tên miền phổ biến. Vì vậy, ví dụ, khoảng chừng thời gian được sử dụng ở đây nghĩa là chúng tôi chỉ tìm thấy một phần của địa chỉ
Trong [49]
True82Ra[49]
True83Điều này đã cho tất cả chúng ta biết những biểu thức chính quy hoàn toàn có thể khó tha thứ ra làm sao nếu bạn không thận trọng. Nếu bạn tìm kiếm trực tuyến, bạn hoàn toàn có thể tìm thấy một số trong những gợi ý cho những biểu thức chính quy sẽ khớp với tất cả những email hợp lệ, nhưng hãy thận trọng. chúng liên quan nhiều hơn nữa so với biểu thức đơn giản được sử dụng ở đây
Khái niệm cơ bản về cú pháp biểu thức chính quy¶
Cú pháp của biểu thức chính quy là một chủ đề quá lớn cho phần ngắn này. Tuy nhiên, một chút ít quen thuộc hoàn toàn có thể đi một đoạn đường dài. Tôi sẽ xem qua một số trong những cấu trúc cơ bản ở đây, sau đó liệt kê một số trong những tài nguyên đầy đủ hơn để bạn hoàn toàn có thể tìm hiểu thêm. Hy vọng của tôi là phần hướng dẫn nhanh sau đây sẽ giúp bạn sử dụng những nguồn này một cách hiệu suất cao
Các chuỗi đơn giản được khớp trực tiếp¶Nếu bạn xây dựng một biểu thức chính quy trên một chuỗi ký tự hoặc chữ số đơn giản, nó sẽ khớp với chuỗi đúng chuẩn đó
Trong [50]
True84Hết[50]
True85Một số ký tự có ý nghĩa đặc biệt¶Mặc dù những vần âm hoặc số đơn giản là đối sánh trực tiếp, nhưng có một số trong những ký tự có ý nghĩa đặc biệt trong những biểu thức thông thường. họ đang
True86Chúng ta sẽ thảo luận về ý nghĩa của một số trong những trong số này trong giây lát. Trong thời gian chờ đón, bạn nên biết rằng nếu muốn khớp trực tiếp với bất kỳ ký tự nào trong số này, bạn hoàn toàn có thể thoát chúng bằng dấu gạch chéo ngược
Trong [51]
True87Ra[51]
True88Lời nói đầu của
True99 trong multiline = """ one two three """ 00 chỉ ra một chuỗi thô; . Ví dụ: một tab được biểu thị bằng multiline = """ one two three """ 01Trong [52]
True89True00Sự thay thế như vậy không được thực hiện trong một chuỗi thô
Trong [53]
True01True02Vì nguyên do này, bất kể lúc nào bạn sử dụng dấu gạch chéo ngược trong biểu thức chính quy, bạn nên sử dụng chuỗi thô
Các ký tự đặc biệt hoàn toàn có thể khớp với những nhóm ký tự¶Giống như ký tự
multiline = """ one two three """ 02 trong những biểu thức chính quy hoàn toàn có thể thoát khỏi những ký tự đặc biệt, biến chúng thành những ký tự thông thường, nó cũng hoàn toàn có thể được sử dụng để mang lại ý nghĩa đặc biệt cho những ký tự thông thường. Các ký tự đặc biệt này khớp với những nhóm ký tự được chỉ định và chúng tôi đã thấy chúng trước đây. Trong regex địa chỉ email từ trước, chúng tôi đã sử dụng ký tự ________ 203, đây là một tín hiệu đặc biệt phù phù phù hợp với bất kỳ ký tự chữ và số nào. Tương tự, trong ví dụ đơn giản về True65, tất cả chúng ta cũng thấy multiline = """ one two three """ 05, một tín hiệu đặc biệt cho biết thêm thêm bất kỳ ký tự khoảng chừng trắng nàoĐặt chúng lại với nhau, tất cả chúng ta hoàn toàn có thể tạo một biểu thức chính quy khớp với hai vần âm/chữ số bất kỳ có tầm khoảng chừng trắng giữa chúng
Trong [54]
True03Ra[54]
True04Ví dụ này khởi đầu gợi ý về sức mạnh và tính linh hoạt của những biểu thức chính quy
Bảng sau đây liệt kê một số trong những ký tự thường hữu ích
CharacterDescription CharacterDescriptionmultiline = """ one two three """ 06So khớp với bất kỳ chữ số nàomultiline = """ one two three """ 07So khớp với bất kỳ chữ số nàomultiline = """ one two three """ 05So khớp với bất kỳ khoảng chừng trắng nàomultiline = """ one two three """ 09So khớp với bất kỳ khoảng chừng trắng nàomultiline = """ one two three """ 03So khớp với bất kỳ ký tự chữ và số nàomultiline = """ one two three """ 11So khớp với bất kỳ ký tự không phải chữ và số nàoĐây không phải là một list hoặc mô tả toàn diện;
Dấu ngoặc vuông khớp với những nhóm ký tự tùy chỉnh¶Nếu những nhóm ký tự tích hợp không đủ rõ ràng cho bạn, bạn hoàn toàn có thể sử dụng dấu ngoặc vuông để chỉ định bất kỳ bộ ký tự nào mà bạn quan tâm. Ví dụ: phần sau sẽ khớp với bất kỳ nguyên âm viết thường nào
Trong [55]
True05Hết[55]
True06Tương tự, bạn hoàn toàn có thể sử dụng dấu gạch ngang để chỉ định một phạm vi. ví dụ:
multiline = """ one two three """ 12 sẽ khớp với bất kỳ vần âm viết thường nào và multiline = """ one two three """ 13 sẽ khớp với bất kỳ ký tự nào trong số multiline = """ one two three """ 14, multiline = """ one two three """ 15 hoặc multiline = """ one two three """ 16. Chẳng hạn, bạn hoàn toàn có thể cần trích xuất từ một tài liệu những mã số rõ ràng gồm có một chữ in hoa theo sau là một chữ số. Bạn hoàn toàn có thể làm điều này như sauTrong [56]
True07Hết[56]
True08Ký tự đại diện khớp với những ký tự lặp lại¶Nếu bạn muốn khớp một chuỗi với ba ký tự chữ và số trong một hàng, bạn hoàn toàn có thể viết, ví dụ:
multiline = """ one two three """ 17. Bởi vì đây là một nhu yếu phổ biến, nên có một cú pháp rõ ràng để khớp với mỗi lần lặp lại – dấu ngoặc nhọn với một số trong nhữngTrong [57]
True09Ra[57]
True10Ngoài ra còn tồn tại những điểm đánh dấu để khớp với bất kỳ số lần lặp lại nào – ví dụ: ký tự
multiline = """ one two three """ 18 sẽ khớp với một hoặc nhiều lần lặp lại của ký tự đứng trước nóTrong [58]
True11Hết[58]
True12Sau đây là bảng đánh dấu lặp lại sở hữu sẵn để sử dụng trong biểu thức chính quy
Nhân vật Mô tảVí dụmultiline = """ one two three """ 19Trùng khớp với số không hoặc một lần lặp lại của đối sánh trướcmultiline = """ one two three """ 20 đối sánh multiline = """ one two three """ 21 hoặc multiline = """ one two three """ 22True79Trùng khớp với số không hoặc nhiều lần lặp lại của đối sánh trướcmultiline = """ one two three """ 24 multiline = """ one two three """ 21, multiline = """ one two three """ 22, multiline = """ one two three """ 27, multiline = """ one two three """ 28. True87Kết hợp một hoặc nhiều lần lặp lại của multiline = """ one two three """ 30 kết quả trước đó multiline = """ one two three """ 22, multiline = """ one two three """ 27, multiline = """ one two three """ 28. nhưng không phải multiline = """ one two three """ 21multiline = """ one two three """ 35Trận đấu multiline = """ one two three """ 36 lần lặp lại đánh vần trướcmultiline = """ one two three """ 37 trận đấu multiline = """ one two three """ 27multiline = """ one two three """ 39Trận đấu giữa multiline = """ one two three """ 40 và multiline = """ one two three """ 36 lần lặp lại trước đómultiline = """ one two three """ 42 trận đấu multiline = """ one two three """ 27 hoặc multiline = """ one two three """ 28Lưu ý những điều cơ bản này, hãy quay lại công cụ đối sánh địa chỉ email của chúng tôi
Trong [59]
True13Bây giờ tất cả chúng ta hoàn toàn có thể hiểu điều này nghĩa là gì. chúng tôi muốn có một hoặc nhiều ký tự chữ và số (
multiline = """ one two three """ 45), tiếp theo là ký hiệu (multiline = """ one two three """ 46), tiếp theo là một hoặc nhiều ký tự chữ và số (multiline = """ one two three """ 45), tiếp theo là dấu chấm (multiline = """ one two three """ 48 – lưu ý nên phải có dấu gạch chéo ngược), theo sau đúng là baNếu giờ đây chúng tôi muốn sửa đổi điều này để địa chỉ email của Obama khớp với nhau, chúng tôi hoàn toàn có thể thực hiện bằng phương pháp sử dụng ký hiệu dấu ngoặc vuông
Trong [60]
True14Hết[60]
True15Chúng tôi đã thay đổi
multiline = """ one two three """ 45 thành multiline = """ one two three """ 50, vì vậy chúng tôi sẽ khớp bất kỳ ký tự chữ và số nào hoặc dấu chấm. Với cách diễn đạt linh hoạt hơn này, chúng tôi hoàn toàn có thể đối sánh nhiều loại địa chỉ email hơn (tuy nhiên vẫn chưa phải là tất cả – bạn hoàn toàn có thể xác định những thiếu sót khác của cách diễn đạt này sẽ không?)Dấu ngoặc đơn chỉ ra những nhóm để trích xuất¶Đối với những cụm từ thông dụng phức hợp như trình đối sánh email của chúng tôi, chúng tôi thường muốn trích xuất những thành phần của chúng hơn là đối sánh đầy đủ. Điều này hoàn toàn có thể được thực hiện bằng phương pháp sử dụng dấu ngoặc đơn để nhóm những kết quả
Trong [61]
True16Trong [62]
True17Hết[62]
True18Như tất cả chúng ta thấy, nhóm này thực sự trích xuất một list những thành phần phụ của địa chỉ email
Chúng ta hoàn toàn có thể đi xa hơn một chút ít và đặt tên cho những thành phần được trích xuất bằng cú pháp
multiline = """ one two three """ 51, trong trường hợp đó, những nhóm hoàn toàn có thể được trích xuất dưới dạng từ điển PythonTrong [63]
True19Ra[63]
True20Kết hợp những ý tưởng này (cũng như một số trong những cú pháp regexp mạnh mẽ và tự tin mà chúng tôi chưa trình bày ở đây) được cho phép bạn trích xuất thông tin từ những chuỗi trong Python một cách linh hoạt và nhanh gọn
Các tài nguyên khác về biểu thức chính quy¶
Cuộc thảo luận ở trên chỉ là một cách xử lý nhanh (và còn lâu mới hoàn thành xong) về chủ đề lớn này. Nếu bạn muốn tìm hiểu thêm, tôi đề xuất những tài nguyên sau
- Tài liệu về gói True81 của Python. Tôi thấy rằng tôi nhanh gọn quên cách sử dụng những biểu thức chính quy mọi khi tôi sử dụng chúng. Bây giờ tôi đã có kiến thức cơ bản, tôi nhận thấy trang này là một nguồn tài nguyên vô cùng quý giá đựng nhớ lại ý nghĩa của từng ký tự hoặc chuỗi rõ ràng trong một biểu thức chính quyBiểu thức chính quy chính thức của Python HOWTO. một cách tiếp cận tường thuật hơn đối với những biểu thức chính quy trong PythonMastering Regular Expressions (OReilly, 2006) là một cuốn sách hơn 500 trang về chủ đề này. Nếu bạn muốn xử lý thực sự đầy đủ về chủ đề này, thì đây là tài nguyên dành riêng cho bạn
Để biết một số trong những ví dụ về thao tác chuỗi và biểu thức chính quy đang hoạt động và sinh hoạt giải trí ở quy mô to hơn, hãy xem Pandas. Dữ liệu định hướng theo cột được gắn nhãn, nơi chúng tôi xem xét việc áp dụng nhiều chủng loại biểu thức này trên những bảng tài liệu chuỗi trong gói Pandas
Tải thêm tài liệu liên quan đến nội dung bài viết Làm cách nào để trích xuất một chuỗi giữa hai ký hiệu trong python? programming python
Post a Comment