2016-08-02 19 views
9

Biểu tượng cảm xúc có chiếm một dải unicode được xác định rõ không?Có một phạm vi cụ thể của các điểm mã unicode có thể được kiểm tra cho biểu tượng cảm xúc không?

Và, có cách dứt khoát để kiểm tra xem điểm mã là biểu tượng cảm xúc trong python 2.7 không?

Tôi dường như không tìm thấy bất kỳ thông tin nào về điều này. Một vài nguồn tin đã chỉ vào phạm vi:

\U0001f600-\U0001f650 

Nhưng ví dụ, có điểm mã

\U0001f918 

nằm ngoài phạm vi này.

Cảm ơn.

+0

Có thể đáng để điều tra: https://github.com/mathiasbynens/emoji-regex Họ đang tạo tự động biểu thức chính quy để cập nhật phạm vi biểu tượng cảm xúc, – Keozon

+1

Tôi sẽ hỏi bạn thậm chí định nghĩa cái gì là hoặc không 't một biểu tượng cảm xúc, nhưng dường như đó là một điều mà tiêu chuẩn Unicode định nghĩa. – user2357112

+0

Hỗ trợ Unicode của Python có được tích hợp sẵn không? Có nghĩa là, các bảng của nó cần tính toán lại mỗi khi Unicode.org thêm một SMILING KITTY khác? (Tôi nhớ điều này đã được đề cập trong câu trả lời khác về một vấn đề tương tự.) – usr2564301

Trả lời

5

regex hỗ trợ khớp với thuộc tính Unicode, nhưng tiếc là nó chưa hỗ trợ emoji-specific properties. Khi có, việc tìm kiếm chúng sẽ đơn giản như:

>>> regex.match(ur'\P{Emoji=yes}', u'') # NOTE: Doesn't (yet) work 

Trong thời gian chờ đợi, here's the emoji table from unicode.org.

+3

Lưu ý rằng điều này bao gồm các ký tự như '#' và '*', vì có nhiều ký tự hơn có 'Emoji = yes' hơn bạn mong đợi . Lọc trên 'Emoji_Presentation = yes' có nhiều chọn lọc hơn, nhưng nó có thể loại trừ các ký tự bạn * sẽ * nghĩ đến làm biểu tượng cảm xúc, chẳng hạn như BÓNG ĐÁ BÓNG ĐÁ. – user2357112

Các vấn đề liên quan