Для этого вы можете зависеть от Django. Попробуйте что-то вроде этого:
from django.contrib.auth import BACKEND_SESSION_KEY
last_auth_backend = request.session[BACKEND_SESSION_KEY]
if last_auth_backend in [list of social backends]:
print("user used social auth")
else:
print("user used something else")
^[^;]+;[^;]+\K;
LEAVE EMPTY
^ # beginning of string
[^;]+ # 1 or more non semicolon
; # 1 semi colon
[^;]+ # 1 or more non semicolon
\K # forget all we have seen until this position
; # 1 semi colon
Результат для данного примера:
a;bc;d
1;23;4
a;gh;j
f;gf;d
a;d8;d
Если возможными значениями данных являются строчные буквы a-z или цифры, вы можете также захватить первые 3 символа, используя группу захвата и класс символов [a-z0-9]
, и после этого поставить точку с запятой. Если может быть более 1 символа, вы можете использовать квантификатор +
для класса символов, например [a-z0-9]+
, а затем заменить его на первую группу захвата.
Найдите, что
^([a-z0-9];[a-z0-9]);
Заменить на
$1
Или с помощью \K
вы можете найти ^[a-z0-9];[a-z0-9]\K;
и оставить «Заменить на пустое».
Удерживайте ALT + SHIFT и используйте клавиши со стрелками, чтобы выбрать вторую точку с запятой и удалить ее.
ИЛИ
Удерживая клавишу ALT, щелкните и перетащите мышь, чтобы выбрать вторую точку с запятой и удалите ее.
ИЛИ
^(...)(.)
\1
Вот онлайн-тестер регулярных выражений, над которым я работал, вы можете просто заменить свои данные образцами.
Regex : (\w+;)((\w+);(\w+))(;\w+)