Làm cách nào để tôi có thể tìm kewords không nằm trong chuỗi.từ khóa đối sánh regex không có trong dấu ngoặc kép
Ví dụ nếu tôi có các văn bản:
Xin chào văn bản này là một ví dụ.
bla bla bla "text này là bên trong một chuỗi"
"chuỗi ngẫu nhiên" hơn văn bản bla bla bla "foo"
tôi sẽ thích để có thể phù hợp với tất cả các từ text
rằng không nằm trong số " "
. Trong khác tôi sẽ thích để phù hợp:
lưu ý tôi không muốn để phù hợp với văn bản được đánh dấu trên màu đỏ vì nó là bên trong một chuỗi
giải pháp có thể:
Tôi đang nghiên cứu và đây là những gì tôi có cho đến thời điểm này:
(?s)((?<q>")|text)(?(q).*?"|)
lưu ý rằng regex sử dụng câu lệnh if như sau: (? (Predicate) thay thế đúng | thay thế false)
nên regex sẽ đọc:
tìm "hoặc văn bản. Nếu bạn tìm thấy "sau đó tiếp tục chọn cho đến khi bạn tìm thấy" một lần nữa (. *? ") Nếu bạn tìm thấy văn bản sau đó không làm gì cả ...
khi tôi chạy rằng regex tôi phù hợp với toàn bộ chuỗi mặc dù. Tôi yêu cầu này Tôi biết tôi có thể loại bỏ tất cả các chuỗi sau đó tìm những gì tôi cần
Bạn đã thử một trình tạo regex trực tuyến chẳng hạn như: http://txt2re.com/index-csharp.php3 – Surfbutler
Tại sao bạn muốn khớp một chuỗi mà bạn biết là gì? Bạn dự định làm gì với kết quả. Ý định quan trọng đối với những người khác để có thể đưa ra một câu trả lời thích hợp. – Mithon
Bạn không cần biết mục đích của câu hỏi để có thể trả lời câu hỏi đó. Ngoài ra bạn đang giả định rằng anh ta biết chuỗi là gì. Ông chỉ đưa ra các ví dụ để chứng minh những gì ông đang cố gắng làm và những người không nhất thiết là những gì ông sẽ được sử dụng cuối cùng.He đang tìm kiếm một kết quả cụ thể và nó không phải là kinh doanh của chúng tôi về cách kết quả đó sẽ được sử dụng. –