Thông báo: Download 4 khóa học Python từ cơ bản đến nâng cao tại đây.
Hàm search() trong Python Regex
Trong việc xử lý chuỗi và tìm kiếm các mẫu ký tự, biểu thức chính quy (regex) là một công cụ mạnh mẽ và linh hoạt. Trong Python, module re
cung cấp nhiều hàm hữu ích để làm việc với các biểu thức chính quy. Một trong những hàm quan trọng nhất là hàm search()
, cho phép bạn tìm kiếm và trả về kết quả khớp đầu tiên của một mẫu trong chuỗi. Hướng dẫn này sẽ giúp bạn hiểu rõ cách sử dụng hàm search()
trong regex của Python, thông qua các ví dụ cụ thể và dễ hiểu.
Giới thiệu về hàm search()
trong Python regex
Hàm search()
là một hàm trong module re
của Python, dùng để xử lý các biểu thức chính quy. Hàm search()
có cú pháp như sau:
re.search(pattern, string, flags=0)
Trong đó:
pattern
là biểu thức chính quy mà bạn muốn tìm kiếm trong chuỗi.string
là chuỗi đầu vào.flags
là một hoặc nhiều cờ biểu thức chính quy để thay đổi hành vi tiêu chuẩn của mẫu.
Hàm search()
quét chuỗi từ trái sang phải và tìm vị trí đầu tiên nơi mẫu khớp. Nó trả về một đối tượng Match nếu tìm kiếm thành công hoặc None nếu không tìm thấy.
Bài viết này được đăng tại [free tuts .net]
Ví dụ về hàm search()
trong Python regex
Hãy cùng xem một số ví dụ về cách sử dụng hàm search()
.
Sử dụng hàm search()
để tìm kết quả khớp đầu tiên
Ví dụ sau sử dụng hàm search()
để tìm số đầu tiên trong chuỗi:
import re s = 'Python 3 was released on Dec 3, 2008' pattern = '\d+' match = re.search(pattern, s) if match is not None: print(match.group()) else: print('No match found')
Output:
3
Trong ví dụ này, mẫu \d+
khớp với một hoặc nhiều chữ số. Hàm search()
trả về một đối tượng Match.
Sử dụng hàm search()
để tìm từ đầu tiên khớp với mẫu
Ví dụ sau sử dụng hàm search()
để tìm từ đầu tiên kết thúc bằng chuỗi thon
trong chuỗi:
import re s = 'CPython, IronPython, or Cython' pattern = r'\b((\w+)thon)\b' match = re.search(pattern, s) if match is not None: print(match.groups())
Output:
('CPython', 'CPy')
Mẫu r'\b((\w+)thon)\b'
có hai nhóm bắt:
(\w+)
– bắt các ký tự ở đầu từ.((\w+)thon)
– bắt toàn bộ từ.
Sử dụng hàm search()
với cờ biểu thức chính quy
Ví dụ sau sử dụng hàm search()
để tìm từ python
đầu tiên trong chuỗi:
import re s = 'Python or python' pattern = r'\bpython\b' match = re.search(pattern, s) print(match)
Output:
<re.Match object; span=(10, 16), match='python'>
Để tìm khớp không phân biệt chữ hoa chữ thường, bạn có thể truyền cờ re.IGNORECASE
vào tham số thứ ba của hàm search()
. Ví dụ:
import re s = 'Python or python' pattern = r'\bpython\b' match = re.search(pattern, s, re.IGNORECASE) print(match)
Output:
<re.Match object; span=(0, 6), match='Python'>
Kết bài
Hàm search()
trong regex của Python là một công cụ mạnh mẽ giúp bạn tìm kiếm và xác định vị trí của các mẫu ký tự trong chuỗi. Bằng cách sử dụng cú pháp đơn giản và các tùy chọn linh hoạt như flags, bạn có thể dễ dàng tìm thấy các kết quả khớp đầu tiên trong chuỗi. Việc hiểu rõ cách sử dụng hàm search()
không chỉ giúp bạn xử lý chuỗi hiệu quả hơn mà còn mở rộng khả năng ứng dụng của bạn trong nhiều lĩnh vực khác nhau. Hy vọng qua hướng dẫn này, bạn đã nắm vững cách sử dụng hàm search()
và sẵn sàng áp dụng vào các bài toán thực tế.