他のかっこがない場合は、簡単にする必要があります。
mystring = mystring.replace("check(", "someothercheck\\(");
mystring = mystring.replace(")", "\\)");
EDITこれは、複数の括弧の場合にも動作します(これは空のものに影響を与えません)。 var str = "abcdef; check(x、y); cef();" PATT = /((\ W)/グラム;?
// transform (x in \(x
str = str.replace(patt, '\\($1');
patt = /(\w)\)/g
// transform y) in y\);
str = str.replace(patt, '$1\\)');
// transform check in someothercheck
str = str.replace('check', 'someothercheck');
EDIT今では唯一のチェック文字列を変換し
function convertCheck(str, check, someOtherCheck) {
// console.log(str + " contains " + check + "? ");
// console.log(str.indexOf(check));
if (str.indexOf(check) === -1) return str;
var patt1 = /\((\w)/g,
patt2 = /(\w)\)/g;
str = str.replace(patt1, '\\($1');
str = str.replace(patt2, '$1\\)');
str = str.replace(check, someOtherCheck);
return str;
}
var str = "abcdef(); check(x,y); cef();",
tokens = str.split(';');
for (var i = 0; i < tokens.length; i++) {
tokens[i] = convertCheck(tokens[i], "check", "someothercheck");
}
str = tokens.join(";");
alert(str); // "abcdef(); someothercheck/(x,y/); cef();"
なぜ正規表現だけの "チェック" 文字列置き換え"someothercheck"と "with"と "\\(" and ")" \\) "を使用しています –
のようにmystring.replace( 'check'、 'somothercheck')。replace( '('、 '\\) ( ').replace(') '、' \\\) '); http://jsfiddle.net/ytnRx/ – stecb
3つの正規表現は1つ以上です –