Bắt đầu với regex Python

Cách ưa thích, nhanh chóng để kiểm tra xem chuỗi có bắt đầu bằng tiền tố đã cho hay không sử dụng hàm str.startswith()

1

2

3

4

5

6

7

8

if __name__ == '__main__'.

 

    s = "Techie"

    từ = "Công nghệ"

 

    res = s. bắt đầu bằng(từ)

    in(res)    # True

 

Tải xuống Chạy mã

 
Hàm str.startswith() cũng có thể chấp nhận một bộ tiền tố. Điều này hữu ích khi bạn muốn khớp nhiều tiền tố với chuỗi.

1

2

3

4

5

6

7

8

if __name__ == '__main__'.

 

    s = "Techie"

    từ = ("T", "S")

 

    res = s. bắt đầu bằng(từ)

    in(res)    # True

 

Tải xuống Chạy mã

2. Sử dụng Regex

Một cách tiếp cận khác là sử dụng biểu thức chính quy, nhưng sử dụng kết hợp biểu thức chính quy cho nhiệm vụ tầm thường này sẽ là quá mức cần thiết. Điều này được thể hiện dưới đây trong Python

Trong bài viết này, chúng ta sẽ thảo luận về các cách khác nhau để kiểm tra xem một chuỗi có bắt đầu bằng bảng chữ cái hay không trong Python

Mục lục

  • Kiểm tra xem Chuỗi có bắt đầu bằng Chữ cái hay không bằng Regex
  • Kiểm tra xem Chuỗi có bắt đầu bằng Chữ cái hay không bằng cách sử dụng isapha

Kiểm tra xem Chuỗi có bắt đầu bằng Chữ cái hay không bằng Regex

Mô-đun regex của Python cung cấp một hàm regex. tìm kiếm (mẫu, chuỗi). Nó chấp nhận một mẫu biểu thức chính quy và một chuỗi làm đối số. Sau đó, nó quét qua chuỗi và tìm kiếm kết quả khớp với mẫu biểu thức chính quy đã cho. Nếu tìm thấy đối sánh, thì nó trả về một đối tượng Match, nếu không, nó trả về Không có

Chúng tôi sẽ sử dụng chức năng này và kiểm tra xem một chuỗi có bắt đầu bằng một bảng chữ cái hay không (chữ hoa hoặc chữ thường). Đối với điều này, chúng tôi sẽ sử dụng mẫu biểu thức chính quy “^[a-zA-Z]”. Mẫu này kiểm tra xem chuỗi chỉ được bắt đầu bằng bảng chữ cái viết hoa hoặc viết thường. Ví dụ,

ví dụ 1

import re

sample_str = "sample string"

# Check if string starts with a letter
if re.search("^[a-zA-Z]", sample_str) is not None:
    print("The String starts with a letter")
else:
    print("The String do not starts with a letter")

đầu ra

The String starts with a letter

Chuỗi đã cho bắt đầu bằng một bảng chữ cái

ví dụ 2

import re

sample_str = "55 Words"

# Check if string starts with a letter
if re.search("^[a-zA-Z]", sample_str) is not None:
    print("The String starts with a letter")
else:
    print("The String do not starts with a letter")

đầu ra

The String do not starts with a letter

Đó là một thử nghiệm tiêu cực vì chuỗi đã cho bắt đầu bằng một số thay vì một chữ cái

Kiểm tra xem Chuỗi có bắt đầu bằng Chữ cái hay không bằng cách sử dụng isapha()

Trong Python, lớp chuỗi cung cấp hàm isalpha(). Nó trả về True nếu tất cả các ký tự trong chuỗi là chữ cái và ít nhất một ký tự trong chuỗi. Chúng ta có thể sử dụng điều này để kiểm tra xem một chuỗi có bắt đầu bằng một chữ cái không

Chọn ký tự đầu tiên của chuỗi bằng toán tử chỉ số dưới như str[0] rồi gọi isalpha() trên chuỗi đó để kiểm tra xem ký tự đầu tiên có phải là bảng chữ cái hay không. Hãy xem một số ví dụ,

Một chuỗi đặc biệt là một \ theo sau bởi một trong các ký tự trong danh sách bên dưới và có ý nghĩa đặc biệt

CharacterDescriptionExampleTry it\ATrả về kết quả khớp nếu các ký tự được chỉ định nằm ở đầu chuỗi"\AThe"Thử »\bTrả về kết quả khớp khi các ký tự được chỉ định nằm ở đầu hoặc cuối của một từ(chữ "r" ở đầu đảm bảo rằng chuỗi đang được coi là "chuỗi thô")r"\bain"
r"ain\b"Try
Try it »\BReturns a match where the specified characters are present, but NOT at the beginning (or at the end) of a word
(the "r" in the beginning is making sure that the string is being treated as a "raw string")r"\Bain"
r"ain\B"Try it »
Try it »\dReturns a match where the string contains digits (numbers from 0-9)"\d"Try it »\DReturns a match where the string DOES NOT contain digits"\D"Try it »\sReturns a match where the string contains a white space character"\s"Try it »\SReturns a match where the string DOES NOT contain a white space character"\S"Try it »\wReturns a match where the string contains any word characters (characters from a to Z, digits from 0-9, and the underscore _ character)"\w"Try it »\WReturns a match where the string DOES NOT contain any word characters"\W"Try it »\ZReturns a match if the specified characters are at the end of the string"Spain\Z"Try it »

bộ

Một bộ là một tập hợp các ký tự bên trong một cặp dấu ngoặc vuông [] với ý nghĩa đặc biệt

SetDescriptionThử nó[arn]Trả về kết quả khớp khi có một trong các ký tự được chỉ định (a, r hoặc
The String starts with a letter
0)Thử nó »[a-n]Trả về kết quả khớp cho bất kỳ ký tự chữ thường nào, theo thứ tự bảng chữ cái giữa a
The String starts with a letter
0Hãy thử »[^arn]Trả về . trả lại kết quả phù hợp cho bất kỳ ký tự
The String starts with a letter
64 nào trong chuỗiHãy thử »

Hàm findall()

Hàm

The String starts with a letter
63 trả về một danh sách chứa tất cả các kết quả khớp

Thí dụ

In danh sách tất cả các trận đấu

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. findall("ai", txt)
print(x)

Tự mình thử »

Danh sách chứa các trận đấu theo thứ tự chúng được tìm thấy

Nếu không tìm thấy kết quả phù hợp, một danh sách trống sẽ được trả về

Thí dụ

Trả về một danh sách trống nếu không tìm thấy kết quả phù hợp

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. findall("Bồ Đào Nha", txt)
print(x)

Tự mình thử »


Hàm tìm kiếm ()

Hàm

The String starts with a letter
64 tìm kiếm chuỗi khớp và trả về một đối tượng Match nếu khớp

Nếu có nhiều hơn một trận đấu, chỉ lần xuất hiện đầu tiên của trận đấu sẽ được trả về

Thí dụ

Tìm kiếm ký tự khoảng trắng đầu tiên trong chuỗi

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. tìm kiếm("\s", txt)

print("Ký tự khoảng trắng đầu tiên nằm ở vị trí. ", x. bắt đầu())

Tự mình thử »

Nếu không tìm thấy kết quả phù hợp, giá trị

The String starts with a letter
65 được trả về

Thí dụ

Thực hiện tìm kiếm không trả về kết quả phù hợp

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. tìm kiếm("Bồ Đào Nha", txt)
print(x)

Tự mình thử »


Hàm split()

Hàm

The String starts with a letter
66 trả về một danh sách trong đó chuỗi đã được tách ở mỗi lần khớp

Thí dụ

Tách ở mỗi ký tự khoảng trắng

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. split("\s", txt)
print(x)

Tự mình thử »

Bạn có thể kiểm soát số lần xuất hiện bằng cách chỉ định tham số

The String starts with a letter
67

Thí dụ

Chỉ tách chuỗi ở lần xuất hiện đầu tiên

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. split("\s", txt, 1)
print(x)

Tự mình thử »


Hàm phụ ()

Hàm

The String starts with a letter
68 thay thế các kết quả khớp bằng văn bản bạn chọn

Thí dụ

Thay thế mọi ký tự khoảng trắng bằng số 9

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. sub("\s", "9", txt)
print(x)

Tự mình thử »

Bạn có thể kiểm soát số lần thay thế bằng cách chỉ định tham số

The String starts with a letter
69

Thí dụ

Thay thế 2 lần xuất hiện đầu tiên

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. sub("\s", "9", txt, 2)
print(x)

Tự mình thử »


đối tượng phù hợp

Đối tượng khớp là đối tượng chứa thông tin về tìm kiếm và kết quả

Ghi chú. Nếu không khớp, giá trị

The String starts with a letter
65 sẽ được trả về, thay vì Đối tượng khớp

Thí dụ

Thực hiện tìm kiếm sẽ trả về Đối tượng khớp

nhập lại

txt = "Mưa ở Tây Ban Nha"
x = re. search("ai", txt)
print(x) #cái này sẽ in một đối tượng

Tự mình thử »

Đối tượng Match có các thuộc tính và phương thức được sử dụng để lấy thông tin về tìm kiếm và kết quả

Làm cách nào để sử dụng regex khi bắt đầu với Python?

Bạn có thể sử dụng Biểu thức chính quy với Phương thức startedwith() của Python không? . Phương thức startedwith không cho phép biểu thức chính quy . Bạn chỉ có thể tìm kiếm một chuỗi.

Startswith() trong Python là gì?

Phương thức startedwith() trả về True nếu chuỗi bắt đầu với giá trị đã chỉ định, nếu không thì trả về False .

Có Startswith trong Python không?

Chuỗi Python bắt đầu với() . Nếu không, nó trả về Sai. The startswith() method returns True if a string starts with the specified prefix(string). If not, it returns False .

Làm cách nào để kiểm tra xem một chuỗi có bắt đầu bằng một chuỗi con hay không bằng regex trong Python?

Ở đây, trước tiên chúng tôi kiểm tra một chuỗi con nhất định có trong một chuỗi hay không, nếu có thì chúng tôi sử dụng hàm search() của thư viện re cùng với siêu ký tự “\A”. This metacharacter checks for a given string starts with substring provided or not.