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.
- Mẫu: Đó là mẫu mà chúng ta phải kiểm tra đối với chuỗi.
- 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.