匹配尚未引用的标识符

时间:2019-10-21 13:34:50

标签: javascript regex

我正在尝试编写一个JavaScript辅助函数,以引用尚未引用的PostgreSQL标识符,例如

("alreadyQuoted".not_quoted).camelCase

应该成为

("alreadyQuoted"."not_quoted")."camelCase"

为此,我想编写一个正则表达式,以查找尚未引用的所有标识符,但是我无法使其忽略引用的标识符。

我到目前为止有这个

console.log('("alreadyQuoted".not_quoted).camelCase'.replace(/\b[a-z0-9_]+\b/gi, m => `"${m}"`))

1 个答案:

答案 0 :(得分:2)

假设您的字符串没有不平衡的",您可以使用此

\b(?!")([a-z0-9_]+)(?!")\b

enter image description here

let str = '("alreadyQuoted".not_quoted).camelCase'
let final = str.replace(/\b(?!")([a-z0-9_]+)(?!")\b/gi,  m => `"${m}"`)

console.log(final)