1

正規表現を使用して JavaScript で引用符 (一重または二重) で囲まれていないコードを取得する方法はありますか?

この文字列がある場合:

'this is a test "this shouldn't be taken"'

結果は次のようになります。

'this is a test'
4

3 に答える 3

2

これにより、一重引用符または二重引用符の間のすべてが削除され、複数行の文字列(\nまたは\rを含む文字列)で機能し、エスケープされた引用符も処理されます。

var removeQuotes = /(['"])(?:\\?[\s\S])*?\1/g;

var test = 'this is a test "this shouldn\'t be taken"';
test.replace(removeQuotes, ""); // 'this is a test '

test = 'this is a test "this sho\\"uldn\'t be taken"';
test.replace(removeQuotes, ""); // 'this is a test '
于 2009-06-30T21:20:05.600 に答える
1
myString.replace(/".*?"/g, '')

myString から二重引用符で囲まれた文字列を削除します。ただし、エスケープされた二重引用符は処理されません。

于 2009-06-30T14:36:35.847 に答える
0

replacejavascript関数を使用して、文字列の引用部分を削除できます。

str = 'this is a test "this shouldn\'t be taken"';
str_without_quotes = str.replace(/(['"]).*?\1/g, "") // => 'this is a test '
于 2009-06-30T14:40:59.970 に答える