Câu hỏi Tôi có thể tìm các bài kiểm tra đơn vị cho các cụm từ thông dụng bằng nhiều ngôn ngữ ở đâu?


Tôi đang xây dựng một trợ giúp regex tại http://www.debuggex.com. Số lượng chi tiết tôi muốn hiển thị yêu cầu tôi viết trình phân tích cú pháp và trình kết hợp của riêng tôi.

Để đảm bảo trình phân tích cú pháp và trình phù hợp của tôi hoạt động chính xác, tôi đã viết các bài kiểm tra đơn vị của riêng mình cho hương vị Javascript của các regex, nhưng đây chỉ là các trường hợp bìa mà tôi biết. Tôi muốn sử dụng một bộ thử nghiệm tiêu chuẩn và gần đây đã được trỏ đến http://hg.ecmascript.org/tests/test262/summarymà tôi sẽ sử dụng.

Câu hỏi của tôi là, tôi có thể tìm các bộ thử nghiệm như thế nào cho các hương vị regex khác? Tôi muốn hỗ trợ các hương vị khác trong tương lai. Tôi đã không thể tìm thấy bất cứ điều gì bằng cách googling ("kiểm tra" gây ô nhiễm kết quả với kiểm tra regex). Tôi đang tìm phòng thử nghiệm cho các ngôn ngữ con trăn, php, perl, java, ruby.mạng lưới.


76
2018-04-04 19:22


gốc


Dự án tuyệt vời! Để bắt đầu, Python đã kiểm tra đơn vị cho nó re mô-đun. - voithos
Làm tốt trên debuggex! Thật tuyệt vời! - Mchl
Đó thực sự là một công việc tuyệt vời. - Joe Frambach
Dự án đẹp idd! - sataniccrow
regexbuddy là một công cụ tốt đẹp! - Stphane


Các câu trả lời:


Hầu hết các ngôn ngữ đó là nguồn mở. Bất kỳ dự án phong nha nên có trường hợp thử nghiệm của họ trong repo nói, nếu không tôi sẽ được khá quan tâm.

  • Pythonkiểm tra regex
  • PHPkiểm tra regex
  • PerlCác bài kiểm tra của regex trông thực sự phong phú
  • Mở JDKkiểm tra đơn vị (một hương vị nguồn mở của Java)
  • Rubykiểm tra regex
  • Monokiểm tra regex (phiên bản nguồn mở của .NET)
  • RE2kiểm tra của (C ++ regex engine được phát triển tại Google)
  • C bộ kiểm tra (được phát triển bởi AT & T Research)
  • PCRE kiểm tra regex (Perl tương thích thường xuyên Expressions C thư viện)
  • JavaScript kiểm tra regex (bộ tương thích của Ủy ban Kỹ thuật Ecma 39)

Tôi cũng tìm thấy một biểu đồ mở rộng trên trang này đó có thể là một số trợ giúp cho bạn.


50
2018-04-04 23:30



PHP sử dụng PCRE, vì vậy nó có thể ở đó để thay thế. - Wiseguy
OpenJDK Là Java, không thực sự hương vị của nó. (JDK chính thức dựa trên sự phát triển trong OpenJDK, với việc bổ sung một số mã nguồn đóng, vì vậy các bản xây dựng có thể không tương thích 100%, nhưng động cơ regex phải giống nhau ở cả hai.) - millimoose
Không đúng. .NET là nguồn đóng. Các nguồn có sẵn tại referencesource.microsoft.com/netframework.aspx. Bạn phải đào xuống từ đó để tìm phần cụ thể mặc dù. - Moshe Katz


Để có danh sách đầy đủ trên một trang, tôi đã tìm thấy những trang bị bỏ qua khỏi câu trả lời được chấp nhận:

  • Mono kiểm tra regex (đây là phiên bản nguồn mở của .net)
  • PHP kiểm tra regex

11
2018-04-05 18:13



Mono là phiên bản nguồn mở của .Net. Nó có trình biên dịch cho C # và F #, NOT VB.Net. Trên một lưu ý cá nhân VB.Net là một abomination. - aboy021
Đã cập nhật câu trả lời để phản ánh nhận xét của bạn. - Sergiu Toarca
@SergiuToarca tại sao không chỉnh sửa câu trả lời được chấp nhận và thêm chúng ở đó, vì vậy chúng tôi có một danh sách đầy đủ trong một câu trả lời? - Martin Ender
Bởi vì hệ thống điểm của SO mạnh mẽ khuyến khích tôi thêm câu trả lời của riêng tôi: P Tuy nhiên, tôi đã chỉnh sửa câu trả lời được chấp nhận. - Sergiu Toarca


Các bộ thử nghiệm regex bổ sung cho các ngôn ngữ bổ sung:

Tiền thưởng

  • Regfuzz (Bộ công cụ C để kiểm tra độ mạnh biểu thức chính quy sử dụng các regex được tạo ngẫu nhiên và không hợp lệ)

1
2017-10-31 08:37