Làm cách nào để trích xuất các chữ cái từ một từ trong python?
Một nơi mà ngôn ngữ Python thực sự tỏa sáng là thao tác với các chuỗi. Phần này sẽ đề cập đến một số phương thức chuỗi tích hợp sẵn của Python và các 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 công việc khoa học dữ liệu và là một lợi ích lớn của Python trong ngữ cảnh này Show
Chuỗi trong Python có thể được xác định bằng cách sử dụng dấu ngoặc đơn hoặc dấu ngoặc kép (chúng tương đương về mặt chức năng) Trong 1] x = 'a string' y = "a string" x == y Ra[1] True Ngoài ra, có thể xác định các 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, chúng ta hãy xem nhanh một số công cụ thao tác chuỗi của Python Thao tác chuỗi đơn giản trong Python¶Đối với các thao tác cơ bản đối với chuỗi, các phương thức chuỗi tích hợp sẵn của Python có thể cực kỳ thuận tiện. Nếu bạn có nền tảng làm việc với C hoặc một ngôn ngữ cấp thấp khác, bạn có thể sẽ thấy sự đơn giản trong các phương thức của Python cực kỳ mới mẻ. Chúng tôi đã giới thiệu kiểu chuỗi của Python và một số phương thức này trước đó; Định dạng chuỗi. Vỏ điều chỉnh¶Python làm cho nó khá dễ dàng để điều chỉnh trường hợp của một chuỗi. Ở đây chúng ta sẽ xem xét các 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 có thể sử dụng phương thức True21 hoặc True22 tương ứng Trong [4] True1 Ra[4] True2 Trong [5] True3 Ra[5] True4 Một nhu cầu định dạng phổ biến là chỉ viết hoa chữ cái đầu tiên của mỗi từ hoặc có thể là chữ cái đầu tiên của mỗi câu. Điều này có thể được thực hiện với các phương pháp True24 và True23 Trong [6] True7 Ra[6] True8 Trong [7] True0 Ra[7] True1 Các trường hợp có thể được hoán đổi bằng phương pháp True25 Trong [8] True2 Ra[8] True3 Định dạng chuỗi. Thêm và xóa dấu cách¶Một nhu cầu phổ biến khác là xóa khoảng trắng (hoặc các ký tự khác) khỏi đầu hoặc cuối chuỗi. Phương thức cơ bản để loại bỏ các ký tự là phương thức True31, loại bỏ khoảng trắng ở đầu và cuối dòng Trong [9] True4 Ra[9] True5 Để chỉ xóa khoảng trống ở bên phải hoặc bên trái, hãy sử dụng True32 hoặc True33 tương ứng Trong [10] True6 Ra[10] True7 Trong [11] True8 Ra[11] True9 Để xóa các ký tự không phải là khoảng trắng, bạn có thể chuyển ký tự mong muốn sang phương thức True31 Trong [12] multiline = """ one two three """0 Ra[12] multiline = """ one two three """1 Ngược lại với thao tác này, thêm dấu cách hoặc các ký tự khác, có thể được thực hiện bằng các phương thức True35, True36 và True37 Ví dụ: chúng ta có thể sử dụng phương thức True35 để căn giữa một chuỗi đã cho trong một số khoảng trắng nhất định Trong [13] multiline = """ one two three """2 Ra[13] multiline = """ one two three """3 Tương tự, True36 và True37 sẽ căn trái hoặc căn phải cho chuỗi trong khoảng cách có độ dài nhất định Trong [14] multiline = """ one two three """4 Ra[14] multiline = """ one two three """5 Trong [15] multiline = """ one two three """6 Ra[15] multiline = """ one two three """7 Tất cả các phương thức này cũng chấp nhận bất kỳ ký tự nào sẽ được sử dụng để lấp đầy khoảng trống. Ví dụ Trong [16] multiline = """ one two three """8 Ra[16] multiline = """ one two three """9 Bởi vì điền số không là một nhu cầu phổ biến, Python cũng cung cấp True41, đây là một phương pháp đặc biệt để đệm bên phải một chuỗi có số không Trong [17] fox = "tHe qUICk bROWn fOx."0 Ra[17] multiline = """ one two three """9 Tìm và thay thế các chuỗi con¶Nếu bạn muốn tìm các lần xuất hiện của một ký tự nhất định trong một chuỗi, thì các 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ất True42 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 con đó Trong [18] fox = "tHe qUICk bROWn fOx."2 Hết[18] fox = "tHe qUICk bROWn fOx."3 Trong 19] fox = "tHe qUICk bROWn fOx."4 Hết[19] fox = "tHe qUICk bROWn fOx."3 Sự khác biệt duy nhất giữa True42 và True44 là hành vi của chúng khi không tìm thấy chuỗi tìm kiếm; Trong 20] fox = "tHe qUICk bROWn fOx."6 Hết[20] fox = "tHe qUICk bROWn fOx."7 Trong [21] fox = "tHe qUICk bROWn fOx."8 fox = "tHe qUICk bROWn fOx."9 True43 và True45 có liên quan hoạt động 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ỗi Trong [22] True10 Hế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 cung cấp các phương thức True57 và True58 Trong [23] True12 Hết[23] True Trong [24] True14 Ra[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 có thể sử dụng phương thức True46. Ở đây, hãy thay thế True60 bằng True61 Trong [25] True16 Hết[25] True17 Hàm True46 trả về một chuỗi mới và sẽ thay thế tất cả các lần xuất hiện của đầu vào Trong [26] True18 Hết[26] True19 Để có cách tiếp cận linh hoạt hơn với chức năng 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 quy Tá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 dựa trên vị trí của nó, các 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 các chuỗi con Phươ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 sau Trong [27] True20 Hết[27] True21 Phương thức True67 cũng tương tự nhưng tìm từ bên phải chuỗi Phương pháp True65 có lẽ hữu ích hơn; . Mặc định là tách trên bất kỳ khoảng trắng nào, trả về danh sách các từ riêng lẻ trong một chuỗi Trong [28] True22 Hết[28] True23 Một phương pháp có liên quan là True69, phân tách trên các 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] True24 Hết[29] True25 Lưu ý rằng nếu bạn muốn hoàn tác một True65, bạ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ặp Trong [30] True26 Ra[30] True27 Một mẫu phổ biến là sử dụng ký tự đặc biệt True72 (dòng mới) để nối các dòng đã được tách trước đó lại với nhau và khôi phục đầu vào Trong [31] True28 True29 Định dạng chuỗi¶Trong các phương pháp trước, chúng ta đã học cách trích xuất các giá trị từ các chuỗi và tự thao tác các chuỗi thành các định dạng mong muốn. Một cách sử dụng khác của các phương thức chuỗi là thao tác biểu diễn chuỗi các giá trị của các loại khác. Tất nhiên, luôn có thể tìm thấy các biểu diễn chuỗi bằng cách sử dụng hàm True73; Trong [32] True30 Ra[32] True31 Đối với các định dạng phức tạp hơn, bạ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] True32 Ra[33] True33 Một cách linh hoạt hơn để thực hiện việc này là sử dụng các chuỗi định dạng, là các chuỗi có dấu đặc biệt (được đánh dấu bằng dấu ngoặc nhọn) trong đó các 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] True34 Ra[34] True33 Bên trong điểm đánh dấu True74, bạn cũng có thể bao gồm thông tin về chính xác những gì bạn muốn xuất hiện ở đó. Nếu bạn bao gồm một số, nó sẽ tham chiếu đến chỉ mục của đối số để chèn Trong [35] True36 Ra[35] True37 Nếu bạn bao gồm 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] True38 Ra[36] True37 Cuối cùng, đối với đầu vào số, bạn có thể bao gồm mã định dạng kiểm soát cách giá trị được chuyển đổi thành chuỗi. Ví dụ: để in một số dưới dạng dấu phẩy động có ba chữ số sau dấu thập phân, bạn có thể sử dụng cách sau Trong [37] True40 Ra[37] True41 Như 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 độ chính xác mong muốn. ba chữ số ngoài dấu thập phân, định dạng dấu phẩy động Kiểu đặc tả định dạng này rất linh hoạt và các ví dụ ở đây hầu như không làm nổi bật bề mặt của các tùy chọn định dạng có sẵn. Để biết thêm thông tin về cú pháp của các 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 cung cấp cho bạn một bộ công cụ mạnh mẽ để định dạng, tách và thao tác dữ liệu chuỗi. Nhưng thậm chí còn có nhiều công cụ mạnh mẽ 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ó có thể thực hiện công bằng chỉ trong một tiểu mục. Mục tiêu của tôi ở đây là cung cấp cho bạn ý tưởng về các loại vấn đề có thể được giải quyết 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ố tài liệu tham khảo để tìm hiểu thêm trong Tài nguyên bổ sung 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ẽ bạn đã quen thuộc với kiểu khớp linh hoạt này với ký tự " True79", hoạt động như một ký tự đại diện. Ví dụ: chúng ta 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 cách sử dụng ký tự đại diện " True79" để khớp với bất kỳ ký tự nào ở giữa Trong [38] True42 True43 Cá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 các cú pháp khớp chuỗi linh hoạt. Giao diện Python với các biểu thức chính quy được chứa trong mô-đun True81 tích hợp sẵn; Trong [39] True44 Hế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ề danh sách tất cả các chuỗi con giữa khoảng trắng, phương thức True65 của biểu thức chính quy trả về danh sách tất cả các chuỗi con giữa các kết quả khớp với mẫu đầu vào Trong 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 trắng nào (dấu cách, tab, dòng mới, v.v. ) và "______187" là ký tự cho biết 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 bao gồm một hoặc nhiều khoảng trắng Phương pháp True65 ở đây về cơ bản là một thói quen tiện lợi được xây dựng dựa trên hành vi khớp mẫu này; Trong [40] True46 True47 Giống như True65, có các 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ước Trong [41] True48 Với điều này, chúng ta có thể thấy rằng phương pháp True94 hoạt động rất giống với True91 hoặc True92 Trong [42] fox = "tHe qUICk bROWn fOx."4 Ra[42] fox = "tHe qUICk bROWn fOx."3 Trong [43] True71 Ra[43] fox = "tHe qUICk bROWn fOx."3 Tương tự, phương pháp True97 hoạt động giống như True93 Trong [44] True73 Ra[44] True74 Trong [45] True75 Ra[45] True74 Với một chút suy nghĩ, các hoạt động chuỗi gốc khác cũng 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 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 các biểu thức chính quy thay vì các phương thức chuỗi đơn giản và trực quan hơn? Ở đây chúng ta sẽ xem xét một ví dụ phức tạp hơn. nhiệm vụ phổ biến là khớp các địa chỉ email. Tôi sẽ bắt đầu bằng cách đơ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 diễn ra. Nó đi từ đây Trong [46] True77 Sử dụng điều này, nếu chúng tôi được cung cấp một dòng từ tài liệu, chúng tôi có thể nhanh chóng trích xuất những thứ trông giống như địa chỉ email Trong [47] True78 Ra[47] True79 (Lưu ý rằng những địa chỉ này hoàn toàn được tạo ra; có lẽ có nhiều cách tốt hơn để liên lạc với Guido) Chúng tôi có thể thực hiện các thao tác khác, chẳng hạn như thay thế các địa chỉ email này bằng một chuỗi khác, có lẽ để ẩn địa chỉ trong đầu ra Trong [48] True80 Ra[48] True81 Cuố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ỉ cho phép các địa chỉ được tạo bằng các ký tự chữ và số kết thúc bằng một trong số các hậu tố tên miền phổ biến. Vì vậy, ví dụ, khoảng thời gian được sử dụng ở đây có nghĩa là chúng tôi chỉ tìm thấy một phần của địa chỉ Trong [49] True82 Ra[49] True83 Điều này cho thấy các biểu thức chính quy có thể khó tha thứ như thế nào nếu bạn không cẩn thận. Nếu bạn tìm kiếm trực tuyến, bạn có thể tìm thấy một số gợi ý cho các biểu thức chính quy sẽ khớp với tất cả các email hợp lệ, nhưng hãy cẩn thận. chúng liên quan nhiều hơn 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 quen thuộc có thể đi một chặng đường dài. Tôi sẽ xem qua một số cấu trúc cơ bản ở đây, sau đó liệt kê một số tài nguyên đầy đủ hơn để bạ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 quả 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 chính xác đó Trong [50] True84 Hết[50] True85 Một số ký tự có ý nghĩa đặc biệt¶Mặc dù các chữ cái hoặc số đơn giản là đối sánh trực tiếp, nhưng có một số ký tự có ý nghĩa đặc biệt trong các biểu thức thông thường. họ đang True86 Chúng ta sẽ thảo luận về ý nghĩa của một số trong số này trong giây lát. Trong thời gian chờ đợi, 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 có thể thoát chúng bằng dấu gạch chéo ngược Trong [51] True87 Ra[51] True88 Lờ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 """01 Trong [52] True89 True00 Sự thay thế như vậy không được thực hiện trong một chuỗi thô Trong [53] True01 True02 Vì lý do này, bất cứ khi 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 có thể khớp với các nhóm ký tự¶Giống như ký tự multiline = """ one two three """02 trong các biểu thức chính quy có thể thoát khỏi các ký tự đặc biệt, biến chúng thành các ký tự bình thường, nó cũng có thể được sử dụng để mang lại ý nghĩa đặc biệt cho các ký tự bình thường. Các ký tự đặc biệt này khớp với các 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 dấu hiệu đặc biệt 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, chúng ta cũng thấy multiline = """ one two three """05, một dấu hiệu đặc biệt cho biết bất kỳ ký tự khoảng trắng nào Đặt chúng lại với nhau, chúng ta có thể tạo một biểu thức chính quy khớp với hai chữ cái/chữ số bất kỳ có khoảng trắng giữa chúng Trong [54] True03 Ra[54] True04 Ví dụ này bắt đầu gợi ý về sức mạnh và tính linh hoạt của các biểu thức chính quy Bảng sau đây liệt kê một số ký tự thường hữu ích CharacterDescription CharacterDescriptionmultiline = """ one two three """06So khớp với bất kỳ chữ số nào multiline = """ one two three """07So khớp với bất kỳ chữ số nào multiline = """ one two three """05So khớp với bất kỳ khoảng trắng nào multiline = """ one two three """09So khớp với bất kỳ khoảng trắng nào multiline = """ one two three """03So khớp với bất kỳ ký tự chữ và số nào multiline = """ 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 danh sách hoặc mô tả toàn diện; Dấu ngoặc vuông khớp với các nhóm ký tự tùy chỉnh¶Nếu các nhóm ký tự tích hợp không đủ cụ thể cho bạn, bạ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] True05 Hết[55] True06 Tương tự, bạn có thể sử dụng dấu gạch ngang để chỉ định phạm vi. ví dụ: multiline = """ one two three """12 sẽ khớp với bất kỳ chữ cái 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 có thể cần trích xuất từ một tài liệu các mã số cụ thể bao gồm một chữ in hoa theo sau là một chữ số. Bạn có thể làm điều này như sau Trong [56] True07 Hết[56] True08 Ký tự đại diện khớp với các 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 có thể viết, ví dụ: multiline = """ one two three """17. Bởi vì đây là một nhu cầu phổ biến, nên có một cú pháp cụ thể để khớp với các lần lặp lại – dấu ngoặc nhọn với một số Trong [57] True09 Ra[57] True10 Ngoài ra còn có các đ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] True11 Hết[58] True12 Sau đây là bảng đánh dấu lặp lại có 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ước multiline = """ one two three """20 đối sánh multiline = """ one two three """21 hoặc multiline = """ one two three """22 True79Trùng khớp với số không hoặc nhiều lần lặp lại của đối sánh trước multiline = """ 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 """21 multiline = """ one two three """35Trận đấu multiline = """ one two three """36 lần lặp lại đánh vần trước multiline = """ one two three """37 trận đấu multiline = """ one two three """27 multiline = """ 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 """28 Lư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] True13 Bây giờ chúng ta có thể hiểu điều này có 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 ý cần phải thoát dấu gạch chéo ngược), theo sau chính xác là ba Nếu bây giờ 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 có thể thực hiện bằng cách sử dụng ký hiệu dấu ngoặc vuông Trong [60] True14 Hết[60] True15 Chú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 có thể đối sánh nhiều loại địa chỉ email hơn (mặc dù vẫn chưa phải là tất cả – bạn có thể xác định những thiếu sót khác của cách diễn đạt này không?) Dấu ngoặc đơn chỉ ra các nhóm để trích xuất¶Đối với các 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 các thành phần của chúng hơn là đối sánh đầy đủ. Điều này có thể được thực hiện bằng cách sử dụng dấu ngoặc đơn để nhóm các kết quả Trong [61] True16 Trong [62] True17 Hết[62] True18 Như chúng ta thấy, nhóm này thực sự trích xuất một danh sách các thành phần phụ của địa chỉ email Chúng ta có thể đi xa hơn một chút và đặt tên cho các thành phần được trích xuất bằng cú pháp multiline = """ one two three """51, trong trường hợp đó, các nhóm có thể được trích xuất dưới dạng từ điển Python Trong [63] True19 Ra[63] True20 Kết hợp những ý tưởng này (cũng như một số cú pháp regexp mạnh mẽ mà chúng tôi chưa trình bày ở đây) cho phép bạn trích xuất thông tin từ các chuỗi trong Python một cách linh hoạt và nhanh chóng 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) về chủ đề lớn này. Nếu bạn muốn tìm hiểu thêm, tôi đề xuất các tài nguyên sau
Để biết một số ví dụ về thao tác chuỗi và biểu thức chính quy đang hoạt động ở quy mô lớn 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 các loại biểu thức này trên các bảng dữ liệu chuỗi trong gói Pandas |