em biết + là >=1, tại string của em có nhiều hơn 1 kí tự mà nó chỉ xét 1 mà đã kết luận luôn nên em nhập nhằng chút
Regex để lọc tiếng Việt
em xài re.findall
ấy, nó trả về tất cả các chuỗi match luôn. Ko có dấu + nó trả về mảng từng ký tự =]
b = “a*”, em bị khó hiểu ở cái chuỗi này, không hiểu sao nó match cái này
em lên trang regex101.com mà vọc :V Nhớ chọn Python bên trái. Nó có giải thích ý nghĩa bên phải luôn :V
em có test trên đấy, nhưng chẳng hiểu sao, lúc test trên đấy được, vào code test lại, thì lại miss, luẩn quẩn hết cả lên anh ạ, vong vo nãy giờ
nó có nút Code Generator mà, bấm vô nó tạo sample cho mà biết xài @_@
em muốn truyền vào một string và trả về xem string có có thõa mãn hay không, dùng cái findall kia thì không được rồi, lẽ ra cái xâu a* phải bị loại.
chắc em so sánh len của cái re.search vậy.
à em muốn match toàn bộ chuỗi hả? Vậy thì thêm ^
ở đầu và $
ở cuối chuỗi regex :V
^[aá...]+$
b = u'b\u1edfi_v\u1eady'
regex = re.compile('^[aàảãáạăằẳẵắặâầẩẫấậbcdđeèẻẽéẹêềểễếệfghiìỉĩíịjklmnoòỏõóọôồổỗốộơờởỡớợpqrstuùủũúụưừửữứựvwxyỳỷỹýỵz0123456789_]+$')
matches = re.search(regex,b)
cùng là lệnh thế này, mà b của em ơ dạng unicode thì matches lại null anh ạ
type của nó ấy.
xài Python 3 đi em =]
cái project em đang theo nó là python2 anh ạ
vậy em phải thêm re.UNICODE
vào chỗ re.compile
ấy :V
regex = re.compile('^[aàảãáạăằẳẵắặâầẩẫấậbcdđeèẻẽéẹêềểễếệfghiìỉĩíịjklmnoòỏõóọôồổỗốộơờởỡớợpqrstuùủũúụưừửữứựvwxyỳỷỹýỵz0123456789_]+$',re.UNICODE)
vẫn NULL anh ạ
chắc cái chuỗi regex đó cũng phải là chuỗi unicode :V u'
re.compile(u'^[aàảãá
^
là match đầu chuỗi
$
là match cuối chuỗi
em tưởng tượng input có thêm 2 ký tự đầu và cuối, ^
$
sẽ match 2 ký tự này :V
ví dụ [abc]+
với input aa bb cc
nó match aa
bb
cc
thì ^[abc]+
nó chỉ match aa
[abc]+$
chỉ match cc
^[abc]+$
ko match cái nào :V Nếu input là abc
thì nó match abc
tức là match string phải gồm có ký tự tưởng tượng ở đầu và ký tự tưởng tượng ở cuối chuỗi luôn
Cái này anh viết nhầm ạ
… là tượng trưng thôi :V Ví dụ … này sẽ là [abc]+
:V
update khỏi hiểu lầm ~.~
bây giờ em có nên convert cái unicode sang str để match không ạ, em tìm nãy giờ không thấy cái nào hướng dẫn conver unicode to string, tooàn báo lỗi