2012-12-25 38 views
7

Tôi có mô hình và chuỗi regex sau:Làm cách nào để chạy regex trên regex trong javascript?

var str="Is this all there is?"; 
var patt1=/is/gi; 

Tôi muốn chỉ trích xuất các biểu hiện chính is (mà không có sự bổ) từ var patt1 sử dụng khác biểu thức chính quy, mà chúng tôi có thể gọi var patt2 cho các đối số rượu sake .

Làm cách nào để thực hiện điều này trong JavaScript vanilla?

Trả lời

11

Có, patt1 là đối tượng regex.

Bạn có thể nhận nguồn regex theo số patt1.source.

> console.dir(patt1); 
    /is/gi 
    global: true 
    ignoreCase: true 
    lastIndex: 0 
    multiline: false 
    source: "is" 
    __proto__: /(?:)/ 
+2

+1 - Chấp nhận câu trả lời này chỉ vì tôi thấy nó lần đầu tiên - nếu không là không có nhiều khác biệt giữa họ hai :) – technojas

9

Không cần biểu thức chính quy. Hãy thử điều này:

> patt1.source 
"is" 
+0

+ 1 - Wow! Tôi không có ý tưởng phương pháp này tồn tại trên đối tượng regex. – technojas

0

Tôi nghĩ rằng những gì bạn cần điều này là:

var patt1=/[is]/gi; 
alert(patt1.test()); 
Các vấn đề liên quan