2010-07-06 193 views
2

如何對字符串中包含括號的字符串進行.match匹配? String1.match(「我怎麼匹配這個(MATCH ME)」);JavaScript匹配字符串內的括號


沒有一個答案讓我得到我想要的。我可能只是做錯了。我試圖使我的問題基本,我認爲這樣做問我的問題是錯誤的。這是我特林修復聲明:

$('[id$=txtEntry3]').focus(function() { 

    if (!DropdownList.toString().match($('[id$=txtEntry2]').val()) || $('[id$=txtEntry2]').val().length < 5) { 
     $('[id$=txtEntry2]').select(); 

     ErrorMessageIn("The Ingredient number you entered is not valid."); 
     return; 
    } 
    ErrorMessageOut(); 
}); 

這工作正常我遇到的時候,它會匹配來自「txtEntry2」,有一個條目中的問題,它「()」。



那麼它的有點壞,但它的工作原理爲我需要做的。這是我做過什麼來解決我的問題:

$('[id$=txtEntry3]').focus(function() { 

     if (!StripParentheses(DropdownList).match(StripParentheses($('[id$=txtEntry2]').val())) || $('[id$=txtEntry2]').val().length < 5) { 
      $('[id$=txtEntry2]').select(); 
      if (!$('[id$=txtEntry2]').val() == "") { 
       ErrorMessageIn("The Ingredient number you entered is not valid."); 
      } 
      return; 
     } 
     ErrorMessageOut(); 
    }); 

function StripParentheses(String){ 
    x = String.toString().replace(/\(/g, ''); 
    x = x.toString().replace(/\)/g, ''); 
    return x; 
} 
+2

使用\轉義(和),像這樣\\(和\\) – limc 2010-07-06 22:10:43

回答

2

如果您對圓括號之間的字符串部分感興趣,則可以使用/\(([^\)]*)\)/;如果你只需要獲得完整的字符串,那麼你可以使用/\([^\)]*\)/

+0

當括號中包含換行符時,您的解決方案也會匹配。 (這是相對的,這是否有利) – mykhal 2010-07-06 22:36:07

3
var str = "How do I match this (MATCH ME)"; 
str.match(/\((.*?)\)/); 
3

獲得在例如所有出現「..(符合我)..(符合我也是)。」添加g正則表達式標誌

string.match(/\((.*?)\)/g) 

這是還有一個好處,那你只有所有出現的列表。如果沒有此標誌,結果將包括整個正則表達式模式匹配(作爲結果數組的第一項)

相關問題