cuốn sách gpt4 ai đã làm

Biểu thức chính quy Python 3 và biểu thức Unicode

In lại Tác giả: Vũ trụ không gian Thời gian cập nhật: 2023-11-04 03:05:45 27 4
mua khóa gpt4 Nike

Khi sử dụng Python 3, một tập lệnh đơn giản như sau sẽ chạy như mong đợi, nhưng dường như bị nghẹt các chuỗi biểu tượng cảm xúc unicode:

import re

cụm từ = "(╯°□°)╯ ︵ ┻━┻"
mẫu = r'\b{0}\b'.format(cụm từ)

text = "Con cáo nâu nhanh nhẹn mệt mỏi vì nhảy qua chó và lật bàn: (╯°□°)╯ ︵ ┻━┻"

if re.search(pattern, text, re.IGNORECASE) != Không có:
print("Đã khớp!")

Nếu tôi thay thế nội dung của biến cụm từ bằng từ "cáo", thì mẫu sẽ khớp. Tôi đã bối rối không biết tại sao nó không thích chuỗi cụ thể này và việc khám phá hướng dẫn sử dụng cũng như Stack Overflow của tôi không làm sáng tỏ nhiều vấn đề. Theo như tôi biết, Python 3 có thể xử lý việc này mà không gặp vấn đề gì.

Tôi có thiếu điều gì đó hiển nhiên không?

EDIT: Ngoài ra, việc xóa ranh giới (\b) không ảnh hưởng đến khả năng khớp chuỗi.

câu trả lời hay nhất

(╯°□°)╯ ︵ ┻━┻

Biểu thức này có dấu ngoặc đơn bên trong, bạn cần thoát khỏi chúng. Nếu không, chúng sẽ được hiểu là nhóm.

Trong [24]: re.search(r'\(╯°□°\)╯ ︵ ┻━┻', văn bản, re.IGNORECASE)
Out[24]: <_sre.SRE_Match đối tượng; span=(72, 85), match='(╯°□°)╯ ︵ ┻━┻'>

Trong [25]: re.findall(r'\(╯°□°\)╯ ︵ ┻━┻', văn bản, re.IGNORECASE)
Ra[25]: ['(╯°□°)╯ ︵ ┻━┻']

Thoát khỏi chuỗi biểu thức chính quysửa và thay đổi mã của bạn thành:

import re

cụm từ = "(╯°□°)╯ ︵ ┻━┻"
mẫu = re.escape(cụm từ)

text = "Con cáo nâu nhanh nhẹn mệt mỏi vì nhảy qua chó và lật bàn: (╯°□°)╯ ︵ ┻━┻"

if re.search(pattern, text, re.IGNORECASE) != Không có:
print("Đã khớp!")

Sau đó, nó sẽ hoạt động như mong đợi:

$ python3a.py
Đã khớp!

Về biểu thức chính quy và biểu thức Unicode của Python 3, chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/39543720/

27 4 0
không gian vũ trụ
Hồ sơ

Tôi là một lập trình viên xuất sắc, rất giỏi!

Nhận phiếu giảm giá taxi Didi miễn phí
Phiếu giảm giá taxi Didi
Chứng chỉ ICP Bắc Kinh số 000000
Hợp tác quảng cáo: 1813099741@qq.com 6ren.com
Xem sitemap của VNExpress