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

Python正则表达式选择 "not include"字

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

Tôi đang cố gắng tìm các từ trong chuỗi không chứa bất kỳ ký tự "a" nào. Tôi đã viết đoạn mã sau nhưng nó không hoạt động. Làm cách nào tôi có thể nói "không bao gồm" với biểu thức chính quy? Tôi không thể sử dụng ký hiệu "^" có nghĩa là "không" được sao?

import re
string2 = "asfdba12312sssdr1 12şljş1 kf"
t = re.findall(r'([^a]\w*) | \w*[^a] ', string2 )
in(t)

Kết quả của mã này là ['sfdba12312sssdr1', '12şljş1']"

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

Bạn cần sử dụng re.UNICODE Biểu thức chính quy cho ranh giới từ gắn cờ:

r = re.compile(ur'\b[^\Wa]+\b', re.UNICODE)

Đến lúc đó \W\b Unicode sẽ được hỗ trợ.

Nhìn thấy bản demo biểu thức chính quy

[^\Wa] Khớp với bất kỳ chữ cái, số hoặc dấu gạch dưới Unicode nào, nhưng không khớp Một. thêm một lại tôi Gắn cờ để làm cho nó không phân biệt chữ hoa chữ thường.

Nếu bạn không muốn sử dụng số để nối các từ, hãy thêm nó vào lớp char\d:[^\W\da].

Nhìn thấy Bản trình diễn Python :

# -*- mã hóa: utf-8 -*-
import re
p = re.compile(ur'\b[^\Wa]+\b', re.UNICODE)
s = u"asfdba12312sssdr1 12şljş1 kf"
res = [x.encode('utf8') cho x trong p.findall(s)]
in(res)

Về việc lựa chọn biểu thức chính quy Python của các từ "không bao gồm", 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/37540405/

31 4 0
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