Tôi đang sử dụng Node.js cho một dự án và tôi đang tìm cú pháp regex của Javascript rất hạn chế. Cụ thể là thiếu sự trông nom đang giết chết tôi. Tôi đang cố gắng sử dụng regex để phân tích chuỗi thành các câu, nhưng tôi muốn kiểm tra các từ viết tắt phổ biến như ông và bà để tôi không phá vỡ các câu. Là một thư viện Node.js của họ có thêm các tính năng regex, và nếu không phải là một hành động tốt sẽ là gì?Cách để thực hiện regex tốt hơn trong Node.js
Trả lời
Đó là khó khăn với regexes javascript,
Một cách để tránh vấn đề cụ thể của bạn:
/((?:Mrs?\.)|[^\.]+)+/ # match all that is not a dot or Mr. or Mrs.
Để biết thêm thủ thuật, bạn có thể có một cái nhìn tại trang web này: http://blog.stevenlevithan.com/archives/javascript-regex-lookbehind
Node .js dựa trên động cơ v8 và động cơ regex của nó là một phần của v8. Dự án v8 được lưu trữ tại đây: https://code.google.com/p/v8/. Động cơ regex xuất phát từ tập tin này: https://code.google.com/p/v8/source/browse/trunk/src/ia32/regexp-macro-assembler-ia32.cc?r=4966. Bạn có thể trong ngã ba chính của dự án và thêm các tính năng mong muốn. Tôi nghi ngờ điều này sẽ có nhiều nỗ lực hơn là giá trị.
Cụm từ thông dụng thường không được thiết kế để phân tích cú pháp. Có nhiều thư viện phân tích cú pháp cho Node.js có thể tìm thấy tại đây: https://npmjs.org/search?q=language+parsing. Cá nhân tôi có thể giới thiệu ca cao nóng (https://github.com/olleicua/hot-cocoa) khi tôi tự làm nó và nó hoạt động hoàn hảo cho mục đích của tôi.
Cuối cùng, nếu mục tiêu của bạn chỉ là để phù hợp với bất kỳ từ hoặc hai từ nếu là người đầu tiên là 'ông' hay 'bà' sau đó một cái gì đó như thế này có thể làm việc:
var text = 'Mr Potter and Mrs Smith were walking to the house of Mrs Sullivan';
text.match(/(?:Mr |Mrs)?\w+/g);
// returns: [ 'Mr Potter', 'and', 'Mrs Smith', 'were', 'walking', 'to', 'the',
// 'house', 'of', 'Mrs Sullivan' ]
- 1. Cách nào tốt hơn để thực hiện tổng thời gian thực thi ứng dụng Node.js?
- 2. Cách tốt hơn để thực hiện XML trong Java
- 3. Thực hiện truy vấn LINQ tốt hơn
- 4. MySQL - Cách thực hiện điều này tốt hơn?
- 5. Thực hiện tốt hơn Rotate3dAnimation trong Android ViewFlipper
- 6. Cách tốt hơn để thực hiện tải hoặc tải nguyên tử chung trong GCC?
- 7. Ngoài sự tò mò - có cách tiếp cận thực hiện tốt hơn để thực hiện chuỗi này thay thế không?
- 8. thực hiện tuần tự trong Node.js
- 9. Cách tốt nhất để thực hiện RKReachabilityObserver trong RestKit
- 10. Cách tốt hơn để thực thi mẫu này?
- 11. đâu là nơi tốt hơn để thực hiện công việc khởi tạo trong winform?
- 12. Cách thực hiện ghi WebRTC vào máy chủ Node.js
- 13. Cách tốt nhất để thực hiện kiểm thử phần mềm
- 14. Cách tốt nhất để thực hiện loại đổ bóng này?
- 15. Cách tốt nhất để thực hiện bẻ khóa một phần
- 16. Thực hiện truy vấn regex với pymongo
- 17. Thực hiện ProgressRing trong MahApps.Metro Nhỏ hơn
- 18. Thực tiễn tốt nhất: So khớp một phần Regex
- 19. Cách tốt hơn để truy vấn phụ
- 20. Có cách nào tốt nhất để tránh thực hiện quá trình nhiều hơn một lần trong Oracle không?
- 21. Cách tốt nhất để thực hiện "hẹn giờ" là gì?
- 22. Làm cách nào để thực hiện xác thực với Node.js, Express và Mongoose?
- 23. Thực hiện zlib tốt trong .NET?
- 24. Cách tạo tốt nhất một API RESTful trong Node.js
- 25. Thực tiễn tốt nhất: Cách thực hiện tốt nhất Xếp hạng sao trong Mẫu Django
- 26. Cách tốt nhất để thực hiện Stackoverflow kiểu danh tiếng
- 27. Bash (grep) regex thực hiện bất ngờ
- 28. Làm cách nào để thực hiện việc đăng nhập PKCS7 này trong node.js?
- 29. một cách tốt hơn để làm ajax trong django
- 30. Cách tốt nhất để thực hiện xác thực đầu vào trong C++ bằng cin là gì?
'regex' tìm kiếm NPM. hoặc: https://npmjs.org/search?q=regex –
http://xregexp.com/ làm việc với Node.js, nhưng, than ôi, không thể cung cấp xác nhận tìm kiếm. –