У меня есть строка
str = '"0f6538c55e386da5dc073dfd1fe86475a8544183ae37236cecfe15395e432182","{\\"description\\": \\"nova user\\"}",1,\\N,"2018-04-26 06:30:49",\\N,"6406924d188545678f1d439aa1c31ffb"\n"19e264818c03ec443159adf1618d53fb65519aebc1382f65abb7d09bcc28b7c4","{\\"email\\": \\"7650121315721623642\\", \\"description\\": \\"Abhishek Bacchan\\"}",\\N,\\N,"2018-04-30 05:50:56",\\N,"default"\n"31792917e59186bc6f7ef39c4e014d85f2fbaba4843b5291b9bb57b095ca0d5b","{\\"description\\": \\"ttv-validation user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"4cee1615fe45f0ae4f990e54ff978f08b320f1bb47d4668f0f1716975f58fa3e","{\\"description\\": \\"gnocchi user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"52ab4e67e1fd1a6c0aa4a2af1ec83c25203430fc22e98c31ab18b18a22b35c37","{\\"description\\": \\"ceilometer user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"534a9548b051691874cae89ff1fa5a39fd45bcbb30055efceb1e0885694f12b8","{\\"description\\": \\"cinder user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"548e22b0a4fc5bea132704240f2e2589e3c0dacbe23bfc00b320c55d62a00479","{\\"description\\": \\"glance user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"8941730944fd6c48d0a3f9b84c343b65ecd3d228f79a36ff73edb1ef9299458f","{\\"email\\": \\"3029999649694327287\\", \\"description\\": \\"Amitabh Bacchan\\"}",\\N,\\N,"2018-04-30 05:52:28",\\N,"default"\n"99adeb632acb3c1695fd6f590c7499a7298fc7c8b51f663ae138e515234c0769","{\\"description\\": \\"clerk user\\"}",1,\\N,"2018-04-26 06:32:37",\\N,"6406924d188545678f1d439aa1c31ffb"\n"bd9b0f7bf919fcca9414c52a2e3a8a94aca5ff7c7bf485e76ece11be507fee3a","{\\"description\\": \\"panko user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"edac0b9f98b333bc3ede8c65b040baccb375c6b9c20e420b692b225421549b96","{\\"description\\": \\"neutron user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"f494e2e34d48ec7ae07c9844b179a1043f502b84b9d94fdddb5105e09d47937d","{\\"description\\": \\"swift user\\"}",1,\\N,"2018-04-26 06:30:49",\\N,"6406924d188545678f1d439aa1c31ffb"\n'
Из этого я хочу удалить все тексты описания ...
Например, \\"description\\": \\"asdfg qwerty\\" должен стать
\\"description\\":
во всех экземплярах описания в строке. Как то так re.sub(regex, "", str)
(? <= description.:) (.) (? =}) выбрал первое описание до последнего '}' и также выдал ошибку "для просмотра назад требуется шаблон фиксированной ширины". Эта ошибка возникает из-за? <=. Без этого я попробовал (description) (. *) (? =}), Это также выбрало все от первого описания до последнего '}'.
Нужна помощь в поиске подходящего регулярного выражения для этого ...






(\\\\\"description\\\\\":)
Это регулярное выражение, которое вам нужно, чтобы найти все \\"description\\": в строке.
Например:
desc = re.search(r"(\\\\\"description\\\\\":)", string).group(1)
Я хочу найти / выбрать все, что находится между \\ "описательным \\": и} .. не \\ "описанием \\":
Это может помочь.
import re
s = '"0f6538c55e386da5dc073dfd1fe86475a8544183ae37236cecfe15395e432182","{\\"description\\": \\"nova user\\"}",1,\\N,"2018-04-26 06:30:49",\\N,"6406924d188545678f1d439aa1c31ffb"\n"19e264818c03ec443159adf1618d53fb65519aebc1382f65abb7d09bcc28b7c4","{\\"email\\": \\"7650121315721623642\\", \\"description\\": \\"Abhishek Bacchan\\"}",\\N,\\N,"2018-04-30 05:50:56",\\N,"default"\n"31792917e59186bc6f7ef39c4e014d85f2fbaba4843b5291b9bb57b095ca0d5b","{\\"description\\": \\"ttv-validation user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"4cee1615fe45f0ae4f990e54ff978f08b320f1bb47d4668f0f1716975f58fa3e","{\\"description\\": \\"gnocchi user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"52ab4e67e1fd1a6c0aa4a2af1ec83c25203430fc22e98c31ab18b18a22b35c37","{\\"description\\": \\"ceilometer user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"534a9548b051691874cae89ff1fa5a39fd45bcbb30055efceb1e0885694f12b8","{\\"description\\": \\"cinder user\\"}",1,\\N,"2018-04-26 06:30:50",\\N,"6406924d188545678f1d439aa1c31ffb"\n"548e22b0a4fc5bea132704240f2e2589e3c0dacbe23bfc00b320c55d62a00479","{\\"description\\": \\"glance user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"8941730944fd6c48d0a3f9b84c343b65ecd3d228f79a36ff73edb1ef9299458f","{\\"email\\": \\"3029999649694327287\\", \\"description\\": \\"Amitabh Bacchan\\"}",\\N,\\N,"2018-04-30 05:52:28",\\N,"default"\n"99adeb632acb3c1695fd6f590c7499a7298fc7c8b51f663ae138e515234c0769","{\\"description\\": \\"clerk user\\"}",1,\\N,"2018-04-26 06:32:37",\\N,"6406924d188545678f1d439aa1c31ffb"\n"bd9b0f7bf919fcca9414c52a2e3a8a94aca5ff7c7bf485e76ece11be507fee3a","{\\"description\\": \\"panko user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"edac0b9f98b333bc3ede8c65b040baccb375c6b9c20e420b692b225421549b96","{\\"description\\": \\"neutron user\\"}",1,\\N,"2018-04-26 06:30:51",\\N,"6406924d188545678f1d439aa1c31ffb"\n"f494e2e34d48ec7ae07c9844b179a1043f502b84b9d94fdddb5105e09d47937d","{\\"description\\": \\"swift user\\"}",1,\\N,"2018-04-26 06:30:49",\\N,"6406924d188545678f1d439aa1c31ffb"\n'
s = re.sub(r'(?<=\\"description\\":)(.*?)(?=\})', "", s)
это работает ... но любое регулярное выражение, которое я могу использовать в re.sub (regex, "", s)?
Обновленный сниппет.
Если вы хотите, чтобы все было просто, не нужно искать обходные пути; просто включите в замену детали «до» и «после».
re.sub('\\\\"description\\\\":.*?\}', '\\\\"description\\\\":}', str)
Главное, чего вам не хватало, это ленивый квантификатор: .*?. Знак вопроса делает * «ленивым», указывая, что он должен соответствовать минимально возможному количеству, а не «жадному» поведению по умолчанию.
Посмотрите, как это работает на regex101.
Приведите пример того, что вы пробовали, и т. д. Может быть, поэтому люди проголосовали против.