Cosnider dữ liệu follwing làm mẫu
input_corpus = "Đây là một ví dụ. \ n Tôi đang cố gắng trích xuất nó. \ n"
Tôi đang cố gắng trích xuất chính xác 2 từ trước và sau. \ N với mã sau
for m in re.finditer['[?:\S+\s+]{2,}[\.][\n]\s*[?:\S+\b\s*]{0,2}',input_corpus]:
print[m]
Đầu ra dự kiến:
an example. I am
extract it.
Đầu ra thực tế: Không có gì bị bắt
Ai đó có thể chỉ cho tôi những gì sai với Regex.
Đã hỏi ngày 20 tháng 3 năm 2019 lúc 7:36Mar 20, 2019 at 7:36
1
Bạn có thể sử dụng Regex này:
r'[?:^|\S+\s+\S+]\n[?:\s*\S+\s+\S+|$]'
Demo Regex
Code:
>>> input_corpus = "this is an example.\n I am trying to extract it.\n"
>>> print re.findall[r'[?:^|\S+\s+\S+]\n[?:\s*\S+\s+\S+|$]', input_corpus]
['an example.\n I am', 'extract it.\n']
Details:
[?:^|\S+\s+\S+]
: Kết hợp trước 2 từ hoặc dòng bắt đầu\n
: Kết hợp một dòng mới
0: Kết hợp 2 từ hoặc đầu dòng tiếp theoan example. I am extract it.
Đã trả lời ngày 20 tháng 3 năm 2019 lúc 7:43Mar 20, 2019 at 7:43
Anubhavaanubhavaanubhava
738K62 Huy hiệu vàng537 Huy hiệu bạc614 Huy hiệu đồng62 gold badges537 silver badges614 bronze badges
2
Tôi muốn trích xuất một từ cho câu hỏi- ai đã ăn táo. Giống như chuỗi là "Ujjwal đã ăn táo." Vì vậy, nó nên trích xuất từ 'ujjwal', một từ trước từ đã ăn bằng cách sử dụng biểu thức chính quy. Có ai có thể giúp tôi với regex? Trong Python.
Trên thực tế, tôi có một danh sách với các từ như 'đã ăn', 'ăn', 'ăn' giống như trong 'ujjwal đã ăn táo.' Ở đây cũng nên trích xuất ujjwal. Làm thế nào tôi có thể kiểm tra các từ của danh sách và không chỉ 'đã ăn' chính nó?
Bò biển
21.6K3 Huy hiệu vàng10 Huy hiệu bạc24 Huy hiệu đồng3 gold badges10 silver badges24 bronze badges
Hỏi ngày 22 tháng 4 năm 2021 lúc 6:43Apr 22, 2021 at 6:43
1
Nếu bạn có một danh sách từ và muốn có được một regex để khớp với danh sách từ trong Python, bạn có thể xác định một mẫu với một mẫu phụ với
an example. I am
extract it.
1 [hoặc] và tham gia các từ trong danh sách Word. Ví dụ:import re
word_list = ['ate', 'eat', 'eaten']
pattern = rf'[\w+]\s*[?:\b[?:{"|".join[word_list]}]\b]'
result1 = re.findall[pattern, 'Ujjwal ate the apple.']
print[result1]
# output:
['Ujjwal']
result2 = re.findall[pattern, 'Ujjwal eaten the apple.']
print[result2]
# output:
['Ujjwal']
Ở đây, chúng tôi sử dụng chuỗi R cùng với chuỗi F để giữ mẫu.
an example. I am
extract it.
2 Trong chuỗi F sẽ quyết tâm thành an example. I am
extract it.
3, tạo ra một regex một cách hiệu quả là an example. I am
extract it.
4Đã trả lời ngày 22 tháng 4 năm 2021 lúc 7:31Apr 22, 2021 at 7:31
Biển biểnSeaBean
21.6K3 Huy hiệu vàng10 Huy hiệu bạc24 Huy hiệu đồng3 gold badges10 silver badges24 bronze badges
9
Hỏi ngày 22 tháng 4 năm 2021 lúc 6:43
import re
results = re.findall['[\w+] ate', 'Ujjwal ate the apple.']
print[results]
Nếu bạn có một danh sách từ và muốn có được một regex để khớp với danh sách từ trong Python, bạn có thể xác định một mẫu với một mẫu phụ với
an example. I am
extract it.
1 [hoặc] và tham gia các từ trong danh sách Word. Ví dụ:['Ujjwal']
[Edit]
Ở đây, chúng tôi sử dụng chuỗi R cùng với chuỗi F để giữ mẫu.
an example. I am
extract it.
2 Trong chuỗi F sẽ quyết tâm thành an example. I am
extract it.
3, tạo ra một regex một cách hiệu quả là an example. I am
extract it.
4Đã trả lời ngày 22 tháng 4 năm 2021 lúc 7:31Apr 22, 2021 at 6:58
Biển biểnEmanuele
Đối với từ chung [bất kỳ ký tự từ nào [tương đương với [A-A-Z0-9_]]]] Bạn có thể sử dụng3 silver badges9 bronze badges
2