2012-07-20 21 views
5

Tôi có cụm từ thông dụng khớp với ba loại dấu nháy đơn, '’‘. Tôi đã trực tiếp dán hai từ cuối cùng của Microsoft vào regex. Tuy nhiên khi tôi kiểm tra nó, biểu thức chính quy của tôi không thành công và khi tôi kiểm tra tập lệnh xác thực javascript của mình trong firefox, tôi thấy '’‘\ thay vì '’‘. Tôi có cần phải thoát khỏi chúng hoặc sử dụng định dạng ASCII không?Thêm char đặc biệt vào cụm từ thông dụng?

+0

Thoát sẽ không hoạt động trong trường hợp này. Hãy thử ASCII. – SomeKittens

+0

Mã ASCI cho một trong số đó là ´. Bạn có thể chỉ cho tôi cách làm điều này không? – user1436111

+1

Điều này tất cả có thể bị mất trong cut'n dán. Đăng bài kiểm tra JS đầy đủ mà bạn đã thử không thành công. ''â € ™ trông giống như mã byte. – sln

Trả lời

1

Hãy thử

/['\u2018\u2019]/ 

này phù hợp với một trong hai người '’‘.

Giải thích:

Trong regexes JavaScript, \u1234 phù hợp với Unicode Codepoint 1234. Để tìm ra các mã chính xác cho trường hợp đặc biệt này, tôi đã sao chép các ký tự vào EditPadPro và chuyển nó thành các codepoint Unicode.

+0

Một số giải thích sẽ tốt đẹp. Những người "thử này" thực sự chỉ cung cấp cho cá, nhưng không cho thấy làm thế nào để cá. –

+0

Bạn là anh hùng của tôi. – user1436111

3

Sử dụng unicode or octal codes:

/\u0022/ // matches " 
/\042/ // matches " 
+0

Các mã Octal đã không còn được dùng trong phiên bản mới nhất của JS. – zzzzBov

+0

Điều cần biết. Bạn biết tại sao mà? – elclanrs

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