2012-11-15 25 views
5

tôi cần phải làm một số chia, như thế này:Regex - Sử dụng/* trong JS mà không nhận được mã của tôi trong bình luận

$(element).split(/*(.+)?/)[1]); 

Nhưng những /* nhân vật, làm cho mã của tôi như một lời nhận xét. Làm cách nào để sử dụng nó & tránh điều này xảy ra?

+1

Đó sẽ là không hợp lệ regex anyway. Bạn có muốn khớp với dấu hoa thị không? – Bergi

+0

@Bergi Có, Nó thực sự là không hợp lệ, và có, tôi muốn phù hợp với một dấu hoa thị. – ParPar

+2

Vì ['*' có ý nghĩa đặc biệt] (http://www.regular-expressions.info/repeat.html), bạn cần phải thoát nó bằng dấu gạch chéo ngược. Btw, chuỗi '/ *' có thể hợp lệ bên trong một regex mà không cần tạo chú thích (lý do cho một đặc tả cú pháp chú thích rất phức tạp :-), ví dụ trong '/^\/* $ /' – Bergi

Trả lời

5

Thoát ký tự * để khớp với nghĩa đen. Nó có nghĩa là một cái gì đó trong một regex. Nó có nghĩa là mã thông báo trước được khớp 0 hoặc nhiều lần.

/\* 

Các regex nên là:

/\*(.+)?/ 
0

Bạn chỉ có thể thêm một biểu thức để bắt đầu mà không tạo sự khác biệt:

/.{0,}*(.+)?/ 
Các vấn đề liên quan