Hướng dẫn which python object is returned from the re search method? - đối tượng python nào được trả về từ phương thức tìm kiếm lại?

Hướng dẫn which python object is returned from the re search method? - đối tượng python nào được trả về từ phương thức tìm kiếm lại?

Một biểu thức chính quy (hoặc re) chỉ định tập hợp các chuỗi khớp với nó; Các chức năng trong & nbsp; remodule cho phép bạn kiểm tra xem một chuỗi cụ thể có khớp với một biểu thức thông thường nhất định không.re module let you check if a particular string matches a given regular expression.

Python re.Search () là một hàm regex sẵn có tìm kiếm chuỗi cho một trận đấu và trả về đối tượng khớp nếu có một trận đấu. Hàm RE.Search () có hai tham số và trả về một đối tượng khớp nếu có một trận đấu.

Nếu có nhiều hơn một trận đấu, chỉ có lần xuất hiện đầu tiên của trận đấu sẽ được trả lại. Nếu không tìm thấy trận đấu nào, giá trị không được trả về.

Cú pháp

re.search(pattern, string)

Thông số

Hàm RE.Search () có hai tham số cần thiết.

  1. Mẫu: Đó là mẫu mà chúng ta phải kiểm tra đối với chuỗi.
  2. Chuỗi: Đó là một chuỗi trong đó chúng tôi tìm thấy mẫu.

Giá trị trả về

Hàm tìm kiếm trả về một đối tượng khớp nếu có một trận đấu.

Thí dụ

Xem chức năng sau.

import re

txt = "Millie Finn Gaten"
sub_str = re.search("\s", txt)

print("The first white-space character is located in position:", sub_str.start())

Đầu ra

The first white-space character is located in position: 6

Trong ví dụ này, chúng tôi có một biến TXT được khởi tạo với Millie Finn Gaten & NBSP; giá trị. Hãy nhớ rằng chuỗi bắt đầu với 0 chỉ mục.Millie Finn Gaten value. Remember that string starts with 0 index.

Bây giờ, chúng tôi tìm thấy ký tự không gian trắng đầu tiên trong chuỗi và nếu nó tìm thấy thì nó sẽ trả về đối tượng khớp.

Sau đó, chúng tôi gọi phương thức start () trên đối tượng đó và nó trả về chỉ mục của ký tự đó.

Trong ví dụ của chúng tôi, vị trí của ký tự không gian trắng là 6. Vì vậy, nó trả về sáu.

Lọc kết quả tìm thấy

Nếu không tìm thấy trận đấu nào, giá trị không được trả về.None is returned.

import re

txt = "Millie Finn Gaten"
sub_str = re.search("\n", txt)

print("The first white-space character is located in position:", sub_str)

Đầu ra

The first white-space character is located in position: None

Trong ví dụ này, chúng tôi có một biến TXT được khởi tạo với Millie Finn Gaten & NBSP; giá trị. Hãy nhớ rằng chuỗi bắt đầu với 0 chỉ mục.None.

Bây giờ, chúng tôi tìm thấy ký tự không gian trắng đầu tiên trong chuỗi và nếu nó tìm thấy thì nó sẽ trả về đối tượng khớp.

Sau đó, chúng tôi gọi phương thức start () trên đối tượng đó và nó trả về chỉ mục của ký tự đó.

Trong ví dụ của chúng tôi, vị trí của ký tự không gian trắng là 6. Vì vậy, nó trả về sáu.

Lọc kết quả tìm thấy

Nếu không tìm thấy trận đấu nào, giá trị không được trả về.

import re

Substring = 'lived'


String = '''The boy who lived
          come to die'''

# Use of re.search() Method
print(re.search(Substring, String, re.IGNORECASE))

# Use of re.match() Method
print(re.match(Substring, String, re.IGNORECASE))

Đầu ra


None

Trong ví dụ này, chúng tôi có một biến TXT được khởi tạo với Millie Finn Gaten & NBSP; giá trị. Hãy nhớ rằng chuỗi bắt đầu với 0 chỉ mục.re.search() method is returning match object and implies that the first match found at index 17.

Bây giờ, chúng tôi tìm thấy ký tự không gian trắng đầu tiên trong chuỗi và nếu nó tìm thấy thì nó sẽ trả về đối tượng khớp.re.match() method is returning None because match exists in the second line of the string and re.match() searches only in the first line of string.

Sau đó, chúng tôi gọi phương thức start () trên đối tượng đó và nó trả về chỉ mục của ký tự đó.re.IGNORECASE is used to ignore the case sensitivity in the strings.

Trong ví dụ của chúng tôi, vị trí của ký tự không gian trắng là 6. Vì vậy, nó trả về sáu.re.search() and re.match() method returns only the first occurrence of a substring in the string and ignores others.

Lọc kết quả tìm thấy

Nếu không tìm thấy trận đấu nào, giá trị không được trả về.

Trong ví dụ này, không có ký tự dòng tiếp theo để nó trả về không.

Python re.search () vs re.match ()

Có một sự khác biệt giữa việc sử dụng cả hai hàm python re.search () và re.match (). Cả hai hàm đều trả về kết hợp đầu tiên của chuỗi con được tìm thấy trong chuỗi, nhưng phương thức re.match () chỉ tìm kiếm trong dòng đầu tiên của chuỗi và trả về đối tượng đối tượng nếu tìm thấy, khác không trả về không.

Nhưng nếu một trận đấu của chuỗi con được tìm thấy trong một số dòng khác ngoài dòng chuỗi đầu tiên (trong trường hợp chuỗi nhiều dòng), nó sẽ không trả về không.

Trong khi phương thức re.Search () tìm kiếm toàn bộ chuỗi ngay cả khi chuỗi chứa đa dòng và cố gắng tìm một khớp của chuỗi con trong tất cả các dòng chuỗi.

Xem ví dụ mã sau.

Tìm kiếm lại RE trở lại trong Python là gì?

Hàm RE.Search () sẽ tìm kiếm mẫu biểu thức thông thường và trả về lần xuất hiện đầu tiên.Không giống như Python Re.Match (), nó sẽ kiểm tra tất cả các dòng của chuỗi đầu vào.Nếu mẫu được tìm thấy, đối tượng khớp sẽ được trả về, nếu không thì NULL, được trả về.the first occurrence. Unlike Python re. match(), it will check all lines of the input string. If the pattern is found, the match object will be returned, otherwise “null” is returned.

Đối tượng RE khớp trong Python là gì?

Phương thức khớp trả về một thể hiện đối tượng khớp tương ứng nếu số 0 hoặc nhiều ký tự ở đầu chuỗi khớp với mẫu biểu thức chính quy.Nói một cách đơn giản, Re.Kết hợp trả về một đối tượng khớp chỉ khi mẫu được đặt ở đầu chuỗi;Nếu không, nó sẽ không trả lại.returns a corresponding match object instance if zero or more characters at the beginning of the string match the regular expression pattern. In simple words, the re. match returns a match object only if the pattern is located at the beginning of the string; otherwise, it will return None.