Идентификаторы соответствия, которые еще не указаны - PullRequest
0 голосов
/ 21 октября 2019

Я пытаюсь написать вспомогательную функцию 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 Ответ

2 голосов
/ 21 октября 2019

Если ваша строка не имеет несбалансированного ", вы можете использовать это

\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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...