javascript 正規表現
Q&A
Closed
解決したいこと
javascriptの正規表現で、ダブルクオーテーション("
)で囲まれていない演算子をreplace()
したいのですがどのような表現になるでしょうか。"+"
にはマッチしないが、+
にはマッチするようにしたいです。
試してみた表現
"/(?!\".*)(\+)(?!.*\")/"
0 likes
Q&A
Closed
javascriptの正規表現で、ダブルクオーテーション("
)で囲まれていない演算子をreplace()
したいのですがどのような表現になるでしょうか。"+"
にはマッチしないが、+
にはマッチするようにしたいです。
"/(?!\".*)(\+)(?!.*\")/"
否定先読みと否定後読みを組み合わせたら実現できそうです。
(?<!")\+(?!")
こちらの記事が参考になりました。
https://www.javadrive.jp/regex-basic/writing/index2.html
(?<!")\+(?!")
でa+bの+にもヒットしないですか?
let contents = "a + b+c \"+\"";
console.log(contents);
contents = contents.replace(RegExp("(?<!\")\\+(?!\")","g"), `[X]`)
console.log(contents);
a + b+c "+"
a [X] b[X]c "+"