Cách làm việc của match, search (Regular Expression) trong python

Mọi người cho mình hỏi về các hàm re.match và re.search trong python, mình mới học lập trình nên còn mù mờ mấy cái này lắm.
hiện tại mình có đọc một số trang hướng dẫn cái này nhưng không hiểu lắm. Ví dụ:

import re
line = "Hoc Python la de hon hoc Java?"
matchObj = re.match( r'(.*) la (.*?) .*', line, re.M|re.I)
if matchObj:
   print "matchObj.group() : ", matchObj.group()
   print "matchObj.group(1) : ", matchObj.group(1)
   print "matchObj.group(2) : ", matchObj.group(2)
else:
   print "Khong co ket noi!!"

output:

searchObj.group() :  Hoc Python la de hon hoc Java?
searchObj.group(1) :  Hoc Python
searchObj.group(2) :  de

==>

  1. matchObj = re.match( r'(.*) la (.*?) .*', line, re.M|re.I), các thông số trong hàm này có ý nghĩa thế nào. Các bác nào cho ví dụ và giải thích dễ hiểu hơn không ah. theo mình thấy thì nó trả về match hoặc none, ý nghĩa là gì vậy và dùng khi nào?
  2. MatchObj.group() là ntn.

Cảm ơn tất cả mọi người nhé!!!

tất cả module python đều có 1 trang docs, bạn search google là ra, tất cả đều giải thích rất rõ trong đó, có cả ví dụ cho bạn luôn

https://docs.python.org/2/library/re.html

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?