我只是学习Python和常规的“语言”。但是我只是遇到了我无法回答的问题。一些帮助或建议会有所帮助。
import re
m = " text1 \abs{foo} text2 text3 \L{E.F} text4 "
def separate_mycmd(cmd,m):
math_cmd = re.compile(cmd)
math = math_cmd.findall(m)
text = math_cmd.split(m)
return(math,text)
(math,text) = separate_mycmd(r'\abs',m)
print math # ['\x07bs']
print text # [' text1 ', '{foo} text2 text3 \\L{E.F} text4 ']
(math,text) = separate_mycmd(r'\L',m)
print math # **Question:** Just ['L'] and not ['\\L'] or ['\L]
print text # [' text1 \x07bs{foo} text2 text3 \\', '{E.F} text4 ']
# **Question:** why the \\ after text3 ?
我不理解上次通话的输出。我的相关问题在评论中。
预先感谢, 乌尔里希
答案 0 :(得分:0)
您想匹配"\\L"
,而不是\L
,从而给您:
> (math,text) = separate_mycmd(r'\\L',m)
> print math
['\\L']
> print text
[' text1 \x07bs{foo} text2 text3 ', '{E.F} text4 ']
您可能还想使用\\a
。而且您可能还想在搜索的字符串中使用它,从而得到:
m = " text1 \\abs{foo} text2 text3 \\L{E.F} text4 "