Ответ на ваш исходный вопрос: Нет, вы не можете вставить такой список.
Однако с некоторой настройкой вы можете сделать этот код с помощью %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 ] показывает, как передавать аргументы с помощью вопросительных знаков, и объясняет, почему они необходимы (по существу, он обеспечивает правильное цитирование ваших переменных).
Вы можете использовать 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)