Как мне записать как обратную косую черту, так и апостроф в python - PullRequest
0 голосов
/ 29 октября 2019

У меня есть следующий код:

import regex as re
data = "Don\'s son's"
match = r"n\'s" # Should match n\'s and not n's
t = re.findall(match,data)
match1 = "n\'s" # ... Not sure what this would match
t1 = re.findall(match1,data)
match2 = "n\\'s" # Should match n\'s and not n's
t2 = re.findall(match2,data)
match3 = "n\\\'s" # ... Again not sure what this matches
t3 = re.findall(match3,data)
match4 = "n\\\\'s" # Only in here because without r prefix, some answers say you need 4 '\'s
t4 = re.findall(match4,data)
print(t)
print(match)
print(t1)
print(match1)
print(t2)
print(match2)
print(t3)
print(match3)
print(t4)
print(match4)

И мой вывод из операторов печати, таким образом:

["n's", "n's"]
n\'s
["n's", "n's"]
n's
["n's", "n's"]
n\'s
["n's", "n's"]
n\'s
["n's", "n's"]
n\\'s

Это показывает, что ни одна из этих команд регулярных выражений не нашла \ илиВ моем списке вывода будет только одна буква "n".

Я пытаюсь удалить \ in Don \ s, но все символы в сыне. Когда я не могу специально найти \ сам по себе, я не могу выборочно удалить его!

Как можно поступить с вышеуказанным?

...