Nhập cờ python

Biểu thức chính quy (Regex) là một chuỗi miêu tả một bộ các chuỗi khác nhau, theo các quy tắc cú pháp nhất định. Bạn cũng có thể gọi Regex là một ngôn ngữ. Và hầu hết như ngôn ngữ lập trình nào cũng hỗ trợ Biểu thức chính quy

2. Regex trong Python

Biểu thức chính quy trong Python không thể hiện thông qua mô-đun re, mô-đun cung cấp sự hỗ trợ đầy đủ cho các Biểu thức chính quy trong Python. Mô-đun này tạo ngoại lệ là lại. lỗi nếu xảy ra lỗi trong khi biên dịch hoặc khi sử dụng Biểu thức chính quy. Để sử dụng lại công việc đầu tiên, bạn cần phải nhập lại mô-đun vào chương trình, sử dụng với cú pháp như sau

import re
3. Use Regex with search(), match(), split()

3. 1 lại. cuộc thi đấu()

re.match(pattern, string, flags=0)

Somatch pattern with string with cờ tùy chọn. Dưới đây là cú pháp cho chức năng này

Chi tiết về tham số

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.

hàm lại. khớp trả về một đối tượng khớp nếu thành công và trả về Không nếu thất bại. Chúng ta sử dụng hàm group(num) hoặc groups() của đối tượng khớp để lấy biểu thức đã được so khớp (kết nối)

>>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
>>> m.group('first_name')
'Malcolm'
>>> m.group('last_name')
'Reynolds'

3. 2 lại. Tìm kiếm()

re.search(pattern, string, flags=0)

Phương thức này thực hiện việc tìm kiếm chuỗi so khớp trên chuỗi và nó sẽ trả về các giá trị được so khớp

in which

pattern: là chuỗi regular expression.
string: là chuỗi cần so khớp.
flags: là các kiểu so khớp mà bạn muốn thực hiện. Nếu để trống thì flags sẽ bằng 0.
>>> email = "tony@tiremove_thisger.net"
>>> m = re.search("remove_this", email)
>>> email[:m.start()] + email[m.end():]
'[email protected]'

3. 4 lại. tách ra()

re.split(pattern, string, maxsplit=0, flags=0)

in which

________số 8
>>> re.split('[a-f]+', '0a3B9', flags=re.IGNORECASE)
['0', '3', '9']

3. 3 Cờ số hoặc sử dụng trong Biểu thức chính quy

I hay IGNORECASE - Không phân biệt hoa thường khi tiến hành tìm kiếm hoặc khớp L hay LOCALE - So khớp với local hiện tại. M hay MULTILINE - Change $ and ^ to end of a lines and started of a lines instead because default is end string and started string. A hay ACSII - Change \w, \W, \b, \B, \d, \D, \S and \s to so khơp full unicode. S hay DOTALL -Thay đổi mẫu. to match with any characters and new lines.

4. Kết luận

Biểu thức chính quy trong python còn rất nhiều nhưng trong bài viết này mình chỉ hướng dẫn các bạn sử dụng một số regex hay sử dụng trong python mong rằng nó giúp được các bạn

xem thêm. https. //viblo. asia/p/chia-se-10-regular-expression-huu-ich-ma-developer-nen-biet-Qbq5QJPLKD8 https. //viblo. asia/p/cac-ki-tu-dac-biet-trong-regular-expressions-phan-2-ORNZqP6MK0n

Mô tả dự án

Một thư viện cờ đơn giản lấy cảm hứng từ golang cho python

Cài đặt

Để cài đặt cờ, chỉ cần

re.match(pattern, string, flags=0)
0

Cách sử dụng

re.match(pattern, string, flags=0)
1

Hướng dẫn này hướng dẫn bạn cách đóng gói một dự án Python đơn giản. Nó sẽ chỉ cho bạn cách thêm các tệp và cấu trúc cần thiết để tạo gói, cách xây dựng gói và cách tải gói đó lên Chỉ mục gói Python (PyPI)

Mẹo

Nếu bạn gặp sự cố khi chạy các lệnh trong hướng dẫn này, vui lòng sao chép lệnh và đầu ra của nó, sau đó mở một vấn đề trên kho lưu trữ các vấn đề về đóng gói trên GitHub. Chúng tôi sẽ cố gắng hết sức để giúp bạn

Một số lệnh yêu cầu phiên bản mới hơn của pip , vì vậy hãy bắt đầu bằng cách đảm bảo rằng bạn đã cài đặt phiên bản mới nhất.

Unix/macOS

re.match(pattern, string, flags=0)
2

các cửa sổ

re.match(pattern, string, flags=0)
3

Một dự án đơn giản¶

Hướng dẫn này sử dụng một dự án đơn giản có tên là

re.match(pattern, string, flags=0)
48. Nếu tên người dùng của bạn là
re.match(pattern, string, flags=0)
49, thì gói hàng sẽ là
re.match(pattern, string, flags=0)
60; . Chúng tôi khuyên bạn nên làm theo hướng dẫn này khi đang sử dụng dự án này, trước khi đóng gói dự án của riêng bạn

Tạo cấu trúc tệp sau tại địa phương

re.match(pattern, string, flags=0)
4

Thư mục chứa các tệp Python phải khớp với tên dự án. Điều này giúp đơn giản hóa cấu hình và rõ ràng hơn đối với người dùng cài đặt gói

Cần có

re.match(pattern, string, flags=0)
61 để nhập thư mục dưới dạng gói và phải trống

re.match(pattern, string, flags=0)
62 là một ví dụ về mô-đun trong gói có thể chứa logic (hàm, lớp, hằng số, v.v. ) gói hàng của bạn. Mở tệp đó và nhập nội dung sau

re.match(pattern, string, flags=0)
6

Nếu bạn chưa quen với mô-đuncác gói nhập, take a few minutes to read over the Python documentation for packages and modules.

Khi bạn tạo cấu trúc này, bạn sẽ muốn chạy tất cả các lệnh trong hướng dẫn này trong thư mục

re.match(pattern, string, flags=0)
63

Tạo các tệp gói¶

Bây giờ bạn sẽ thêm các tệp được sử dụng để chuẩn bị phân phối dự án. Khi bạn hoàn thành, cấu trúc dự án sẽ như thế này

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
2

Tạo một thư mục thử nghiệm¶

re.match(pattern, string, flags=0)
64 là trình giữ chỗ cho các tệp thử nghiệm. Để trống bây giờ

Tạo pyproject. toml¶

re.match(pattern, string, flags=0)
65 cho biết các công cụ xây dựng “giao diện người dùng” như pipbuild what “backend” tool to use to create distribution packages for your project. You can choose from a number of backends; this tutorial uses Hatchling by default, but it will work identically with setuptools, Flit, PDM, and others that support the
re.match(pattern, string, flags=0)
66 table for metadata.

Ghi chú

Một số phụ trợ xây dựng là một phần của các công cụ lớn hơn cung cấp giao diện dòng lệnh với các tính năng bổ sung như khởi tạo dự án và quản lý phiên bản, cũng như xây dựng, tải lên và cài đặt các gói. Hướng dẫn này sử dụng các công cụ đơn mục đích hoạt động độc lập

Mở

re.match(pattern, string, flags=0)
65 và nhập một trong các bảng
re.match(pattern, string, flags=0)
68 này

nở

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
8

công cụ thiết lập

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
9

bay

>>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
>>> m.group('first_name')
'Malcolm'
>>> m.group('last_name')
'Reynolds'
0

PDM

>>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
>>> m.group('first_name')
'Malcolm'
>>> m.group('last_name')
'Reynolds'
1

Định cấu hình siêu dữ liệu¶

Mở

re.match(pattern, string, flags=0)
65 và nhập nội dung sau. Thay đổi
pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
22 để bao gồm tên người dùng của bạn;

>>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
>>> m.group('first_name')
'Malcolm'
>>> m.group('last_name')
'Reynolds'
6

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    22 là tên phân phối của gói của bạn. Đây có thể là bất kỳ tên nào miễn là nó chỉ chứa các chữ cái, số,
    pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    24,
    pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    25 và
    pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    26. Nó cũng chưa được sử dụng trên PyPI. Đảm bảo cập nhật tên người dùng này cho hướng dẫn này, vì điều này đảm bảo bạn sẽ không cố tải lên gói có cùng tên với gói đã tồn tại

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    27 là phiên bản trọn gói. Xem thông số kỹ thuật của trình xác định phiên bản để biết thêm chi tiết về các phiên bản. Một số phụ trợ xây dựng cho phép nó được chỉ định theo cách khác, chẳng hạn như từ tệp hoặc thẻ git.

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    28 được sử dụng để xác định tác giả của gói; . Bạn cũng có thể liệt kê
    pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    29 ở định dạng tương tự

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    80 là một bản tóm tắt ngắn, một câu về gói

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    81 là đường dẫn đến tệp chứa mô tả chi tiết về gói. Điều này được hiển thị trên trang chi tiết gói trên PyPI. Trong trường hợp này, mô tả được tải từ
    pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    82 (là một mẫu phổ biến). Ngoài ra còn có một biểu mẫu bảng nâng cao hơn được mô tả trong đặc tả siêu dữ liệu dự án .

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    83 cung cấp các phiên bản Python được dự án của bạn hỗ trợ. Trình cài đặt như pip sẽ xem lại các phiên bản gói cũ hơn cho đến khi tìm thấy gói có phiên bản Python phù hợp.

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    84 cung cấp chỉ mục và pip một số siêu dữ liệu bổ sung về gói của bạn. Trong trường hợp này, gói chỉ tương thích với Python 3, được cấp phép theo giấy phép MIT và không phụ thuộc vào hệ điều hành. Bạn phải luôn bao gồm ít nhất (các) phiên bản Python mà gói của bạn hoạt động, gói của bạn có sẵn giấy phép nào và gói của bạn sẽ hoạt động trên hệ điều hành nào. Để biết danh sách đầy đủ các bộ phân loại, hãy xem https. //pypi. tổ chức/phân loại/.

  • pattern : Đây là chuỗn cần so khớp.
    string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
    flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
    
    85 cho phép bạn liệt kê bất kỳ số lượng liên kết bổ sung nào để hiển thị trên PyPI. Nói chung, điều này có thể là nguồn, tài liệu, trình theo dõi vấn đề, v.v.

Xem đặc tả siêu dữ liệu dự án để biết chi tiết về những trường này và các trường khác có thể được xác định trong bảng

re.match(pattern, string, flags=0)
66. Các trường phổ biến khác là
pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
87 để cải thiện khả năng khám phá và
pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
88 được yêu cầu để cài đặt gói của bạn.

Tạo README. md¶

Mở

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
82 và nhập nội dung sau. Bạn có thể tùy chỉnh điều này nếu bạn muốn

re.match(pattern, string, flags=0)
30

Tạo GIẤY PHÉP¶

Điều quan trọng đối với mọi gói được tải lên Chỉ mục gói Python phải bao gồm giấy phép. Điều này cho người dùng cài đặt gói của bạn biết các điều khoản mà theo đó họ có thể sử dụng gói của bạn. Để được trợ giúp chọn giấy phép, hãy xem https. //chọn giấy phép. com/. Khi bạn đã chọn một giấy phép, hãy mở

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
90 và nhập văn bản giấy phép. Ví dụ: nếu bạn đã chọn giấy phép MIT

re.match(pattern, string, flags=0)
31

Hầu hết các chương trình phụ trợ xây dựng tự động bao gồm các tệp giấy phép trong các gói. Xem tài liệu phụ trợ của bạn để biết thêm chi tiết

Bao gồm các tệp khác¶

Các tệp được liệt kê ở trên sẽ tự động được bao gồm trong bản phân phối nguồn của bạn. Nếu bạn muốn bao gồm các tệp bổ sung, hãy xem tài liệu dành cho chương trình phụ trợ xây dựng của bạn.

Tạo kho lưu trữ phân phối¶

Bước tiếp theo là tạo gói phân phối cho gói. Đây là những kho lưu trữ được tải lên Chỉ mục gói Python và có thể được cài đặt bởi pip .

Đảm bảo bạn đã cài đặt phiên bản mới nhất của bản dựng của PyPA.

Unix/macOS

re.match(pattern, string, flags=0)
32

các cửa sổ

re.match(pattern, string, flags=0)
33

Mẹo

Nếu bạn gặp sự cố khi cài đặt các gói này, hãy xem hướng dẫn Cài đặt gói .

Bây giờ hãy chạy lệnh này từ cùng thư mục chứa

re.match(pattern, string, flags=0)
65

Unix/macOS

re.match(pattern, string, flags=0)
34

các cửa sổ

re.match(pattern, string, flags=0)
35

Lệnh này sẽ xuất ra rất nhiều văn bản và sau khi hoàn thành sẽ tạo hai tệp trong thư mục

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
92

re.match(pattern, string, flags=0)
36

Tệp

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
93 là phân phối nguồn trong khi tệp
pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
94 là phân phối được xây dựng. Newer pip mới hơn ưu tiên cài đặt các bản phân phối dựng sẵn, nhưng sẽ quay trở lại các bản phân phối nguồn nếu cần. Bạn phải luôn tải lên bản phân phối nguồn và cung cấp bản phân phối được xây dựng cho các nền tảng mà dự án của bạn tương thích với. Trong trường hợp này, gói ví dụ của chúng tôi tương thích với Python trên mọi nền tảng nên chỉ cần một bản phân phối được xây dựng.

Tải lên kho lưu trữ phân phối¶

Cuối cùng, đã đến lúc tải gói của bạn lên Chỉ mục gói Python

Điều đầu tiên bạn cần làm là đăng ký một tài khoản trên TestPyPI, đây là một phiên bản riêng biệt của chỉ mục gói dành cho kiểm tra và thử nghiệm. Thật tuyệt vời cho những thứ như hướng dẫn này mà chúng tôi không nhất thiết muốn tải lên chỉ mục thực. Để đăng ký tài khoản, hãy truy cập https. //kiểm tra. pypi. org/account/register/ và hoàn thành các bước trên trang đó. Bạn cũng sẽ cần xác minh địa chỉ email của mình trước khi có thể tải lên bất kỳ gói nào. Để biết thêm chi tiết, hãy xem Sử dụng TestPyPI .

Để tải lên dự án của bạn một cách an toàn, bạn sẽ cần mã thông báo API PyPI. Tạo một cái tại https. //kiểm tra. pypi. org/manage/account/#api-tokens, đặt “Phạm vi” thành “Toàn bộ tài khoản”. Không đóng trang cho đến khi bạn đã sao chép và lưu mã thông báo — bạn sẽ không thấy mã thông báo đó nữa

Bây giờ bạn đã đăng ký, bạn có thể sử dụng twine để tải các gói phân phối lên. Bạn sẽ cần cài đặt Twine.

Unix/macOS

re.match(pattern, string, flags=0)
37

các cửa sổ

re.match(pattern, string, flags=0)
38

Sau khi cài đặt, hãy chạy Twine để tải lên tất cả các tệp lưu trữ trong

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
92

Unix/macOS

re.match(pattern, string, flags=0)
39

các cửa sổ

re.match(pattern, string, flags=0)
40

Bạn sẽ được nhắc nhập tên người dùng và mật khẩu. Đối với tên người dùng, hãy sử dụng

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
96. Đối với mật khẩu, hãy sử dụng giá trị mã thông báo, bao gồm tiền tố
pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
97

Sau khi lệnh hoàn thành, bạn sẽ thấy đầu ra tương tự như thế này

re.match(pattern, string, flags=0)
41

Sau khi tải lên, gói của bạn sẽ có thể xem được trên TestPyPI; .

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
98

Cài đặt gói mới tải lên của bạn¶

Bạn có thể sử dụng pip để cài đặt gói của mình và xác minh rằng gói đó hoạt động. Tạo môi trường ảo và cài đặt gói của bạn từ TestPyPI.

Unix/macOS

re.match(pattern, string, flags=0)
42

các cửa sổ

re.match(pattern, string, flags=0)
43

Đảm bảo chỉ định tên người dùng của bạn trong tên gói

pip nên cài đặt gói từ TestPyPI và đầu ra sẽ trông giống như thế này

re.match(pattern, string, flags=0)
44

Ghi chú

Ví dụ này sử dụng cờ

pattern : Đây là chuỗn cần so khớp.
string : Đây là chuỗi để tìm kiếm pattern cón tồn tại trong đó không.
flags : Bạn có thể xác định các flag khác nhau bởi sử dụng toán tử |. Các modifier này sẽ được liệt kê ở bảng bên dưới.
99 để chỉ định TestPyPI thay vì PyPI trực tiếp. Ngoài ra, nó chỉ định
>>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
>>> m.group('first_name')
'Malcolm'
>>> m.group('last_name')
'Reynolds'
00. Vì TestPyPI không có các gói giống như PyPI trực tiếp, nên có thể cố gắng cài đặt các phần phụ thuộc có thể không thành công hoặc cài đặt thứ gì đó không mong muốn. Mặc dù gói ví dụ của chúng tôi không có bất kỳ phần phụ thuộc nào, nhưng bạn nên tránh cài đặt các phần phụ thuộc khi sử dụng TestPyPI

Bạn có thể kiểm tra xem nó đã được cài đặt đúng chưa bằng cách nhập gói. Đảm bảo rằng bạn vẫn đang ở trong môi trường ảo của mình, sau đó chạy Python

Unix/macOS

re.match(pattern, string, flags=0)
45

các cửa sổ

re.match(pattern, string, flags=0)
46

và nhập gói

re.match(pattern, string, flags=0)
47

Bước tiếp theo¶

Xin chúc mừng, bạn đã đóng gói và phân phối một dự án Python. ✨ 🍰 ✨

Hãy nhớ rằng hướng dẫn này chỉ cho bạn cách tải gói của bạn lên Test PyPI, đây không phải là bộ lưu trữ vĩnh viễn. Hệ thống Kiểm tra thỉnh thoảng xóa các gói và tài khoản. Tốt nhất là sử dụng TestPyPI để kiểm tra và thử nghiệm như hướng dẫn này

Khi bạn đã sẵn sàng tải một gói thực lên Chỉ mục gói Python, bạn có thể làm nhiều việc tương tự như bạn đã làm trong hướng dẫn này, nhưng với những điểm khác biệt quan trọng sau

  • Chọn một tên đáng nhớ và độc đáo cho gói của bạn. Bạn không phải thêm tên người dùng của mình như đã làm trong hướng dẫn, nhưng bạn không thể sử dụng tên hiện có

  • Đăng ký tài khoản trên https. //pypi. org - lưu ý rằng đây là hai máy chủ riêng biệt và chi tiết đăng nhập từ máy chủ thử nghiệm không được chia sẻ với máy chủ chính

  • Sử dụng

    >>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
    >>> m.group('first_name')
    'Malcolm'
    >>> m.group('last_name')
    'Reynolds'
    
    01 để tải gói của bạn lên và nhập thông tin đăng nhập cho tài khoản bạn đã đăng ký trên PyPI thực. Bây giờ bạn đang tải lên gói trong quá trình sản xuất, bạn không cần chỉ định
    >>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
    >>> m.group('first_name')
    'Malcolm'
    >>> m.group('last_name')
    'Reynolds'
    
    02; . //pypi. org/ theo mặc định

  • Cài đặt gói của bạn từ PyPI thực bằng cách sử dụng

    >>> m = re.match(r"(?P\w+) (?P\w+)", "Malcolm Reynolds")
    >>> m.group('first_name')
    'Malcolm'
    >>> m.group('last_name')
    'Reynolds'
    
    03

Tại thời điểm này, nếu bạn muốn đọc thêm về cách đóng gói các thư viện Python thì đây là một số điều bạn có thể làm