Tôi cần một regex C# để xóa mọi thứ giữa /*
và */
bao gồm /**/
. Vì vậy, về cơ bản xóa tất cả các nhận xét mã trong văn bản đã cho.biểu thức chính quy cần thiết để xóa C/C# comments
6
A
Trả lời
6
nên được một cái gì đó như thế này:
var regex = new Regex("/\*((?!\*/).)*\*/", RegexOptions.Singleline);
regex.Replace(input, "");
2
Hãy cảnh giác rằng ý kiến có thể được lồng vào nhau. Nếu nhận xét có thể được lồng vào nhau như trong SQL, thì regex cơ bản sẽ trông giống như sau:
/\*.*?\*/
Sau đó, bạn sẽ cần phải lặp lại cho đến khi bạn không có gì.
Nếu, ngược lại, ý kiến kết thúc vào * đầu tiên/như trong C, bạn cần tham lam với một lookahead tiêu cực:
/\*((?!\*/).)*\*/
0
Tôi cũng cần phải bỏ qua dòng ý kiến với các hình thức
// blablabla
vì vậy, chỉ cần cho nếu ai đó cũng cần cái này, sửa đổi regex bằng cách thêm phần cuối | (//.*) nên hình thức hoàn chỉnh sẽ là:
(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|(//.*)
Các vấn đề liên quan
- 1. Một biểu thức chính quy nhanh chóng cần thiết
- 2. Cần biểu thức chính quy để xác nhận tên
- 3. Biểu thức chính quy Javascript Xóa không gian
- 4. Biểu thức chính quy JavaScript
- 5. TCL mong đợi biểu thức chính quy
- 6. 6 chữ số biểu thức chính quy
- 7. biểu thức chính quy lookbehind javascript
- 8. HTML 5 - biểu thức chính quy số
- 9. Các biểu thức chính quy thông thường
- 10. Email Xác nhận biểu thức chính quy
- 11. Perl chia và biểu thức chính quy
- 12. Biểu thức chính quy của Python HOẶC
- 13. Clojure multiline biểu thức chính quy
- 14. Biểu thức chính quy Java OR operator
- 15. Biểu thức chính quy kết thúc
- 16. Tạo mảng biểu thức chính quy Javascript
- 17. Biểu thức chính quy - Ruby vs Perl
- 18. Biểu thức chính quy tiêu cực lookahead
- 19. Biểu thức chính quy của Python
- 20. Hạn chế của Biểu thức chính quy?
- 21. Biểu thức chính quy không tuân thủ
- 22. Biểu thức chính quy cho kho git
- 23. Làm cách nào để xác thực Biểu thức chính quy?
- 24. Biểu thức chính quy để chọn các nhóm lặp
- 25. Cần biểu thức chính quy để xác thực ngày theo định dạng dd-MMM-yyyy
- 26. Biểu thức chính quy để xóa nhận xét khỏi câu lệnh SQL
- 27. Có biểu thức chính quy nào để xóa dấu gạch chéo ở Perl không?
- 28. Quy tắc biểu thức chính quy trong Outlook 2007?
- 29. Biểu thức chính quy để tìm các không gian
- 30. Cụm từ thông dụng để tìm biểu thức chính quy?
bạn thực sự không cần regex cho điều đó. –
Vậy câu hỏi là gì? – Reniuz
Đó không phải là dễ dàng. Mã của bạn có thể chứa các chuỗi như "This:/* boo */is no comment". – Jens