Regex захватывает имена в абзаце (javascript)

Ответ на ваш исходный вопрос: Нет, вы не можете вставить такой список.

Однако с некоторой настройкой вы можете сделать этот код с помощью %r и пройти в кортеж:

variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1, variable_2]
print "INSERT INTO table VALUES %r;" % (tuple(varlist),)

К сожалению, этот стиль вставки переменной оставляет ваш код уязвимым для SQL-инъекций .

Вместо этого мы рекомендуем использовать API Python DB и построение настраиваемой строки запроса с несколькими вопросительными знаками для вставленных данных:

variable_1 = "HELLO"
variable_2 = "ADIOS"
varlist = [variable_1,variable_2]
var_string = ', '.join('?' * len(varlist))
query_string = 'INSERT INTO table VALUES (%s);' % var_string
cursor.execute(query_string, varlist)

Пример в начале документов SQLite3 ] показывает, как передавать аргументы с помощью вопросительных знаков, и объясняет, почему они необходимы (по существу, он обеспечивает правильное цитирование ваших переменных).

1
задан Sepero 5 May 2019 в 18:15
поделиться

1 ответ

Вы можете использовать names are (.*?)\., чтобы сопоставить все до следующего периода. Затем используйте split, чтобы получить имена в массив

const str = 'The first sentence. Some second sentence. Third sentence and the names are John, Jane, Jen. Here is the fourth sentence about other stuff.'

const regex = /names are (.*?)\./,
      names = str.match(regex)[1],
      array = names.split(", ")

console.log(array)

0
ответ дан adiga 5 May 2019 в 18:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: