2013-06-05 36 views
14

Cụ thể khi nào^có nghĩa là "bắt đầu trận đấu" và khi nào nó có nghĩa là "không theo sau" trong cụm từ thông dụng?Các chữ cái trong Cụm từ thông dụng

Từ bài viết Wikipedia và các tài liệu tham khảo khác, tôi đã kết luận nó có nghĩa là chữ cái lúc bắt đầu và sau này khi được sử dụng với dấu ngoặc vuông, nhưng cách chương trình xử lý trường hợp dấu mũ ở đầu và tại khung ? Nói gì,^[b-d] t $ match?

Trả lời

27

^ chỉ có nghĩa là "không phải như sau" khi bên trong và ở đầu [], vì vậy [^...].

Khi nằm trong số [] nhưng không phải khi bắt đầu, điều đó có nghĩa là ký tự ^ thực tế.

Khi nó được thoát (\^), nó cũng có nghĩa là ký tự ^ thực tế.

Trong tất cả các trường hợp khác, nó có nghĩa là bắt đầu chuỗi/dòng (tùy thuộc vào ngôn ngữ/cài đặt).

Vì vậy, trong ngắn hạn:

  • [^abc] -> không a, b hoặc c
  • [ab^cd] -> a, b,^(ký tự), c hoặc d
  • \^ -> một nhân vật ^
  • Bất kỳ nơi nào khác -> bắt đầu chuỗi/dòng.

Vì vậy ^[b-d]t$ có nghĩa là:

  • Bắt đầu dòng
  • b/c/d nhân vật
  • t nhân vật
  • End của dòng
+0

Ví dụ: http: // regexr.com?354gb –

Các vấn đề liên quan