Escape“:”在Python中?

2024-04-25 18:13:30 发布

您现在位置:Python中文网/ 问答频道 /正文

我使用Python(和Pytumblr)并试图从返回的数据中提取某个字符串,但是我要搜索的字符串中包含“:”。每当我运行脚本时,都会出现错误:

File "myfile.py", line 22
    if re.search('^ion': u'..', u'b', line) :
                       ^
SyntaxError: invalid syntax

这是我的代码:

^{pr2}$

这段代码中有没有其他错误,或者有一种方法可以转义“:”我不知道?我对Python还很陌生,但我不认为:需要逃走。在


Tags: 数据字符串代码pyre脚本searchif
2条回答

这是一个语法错误,因为冒号不是字符串的一部分。单引号'标记正在结束字符串。您的第一个参数被解析为:

'^ion'       - String 1: ^ion
:            - Syntactical colon
 u           - The syntactical character u,
               indicating you intend for the
               following string literal to be
               in unicode
'..'         - String 2: ..

如果希望^ion结尾的单引号是字符串的一部分,则需要使用反斜杠'^ion\':来转义该,或者在字符串本身周围使用双引号。因为Python接受字符串文字标记的单引号和双引号,'hello'和{}的意思是一样的。使'"hello world"'"'hello world'"都是合法字符串。在

如果regex是这里的痛点,那么有很多文献和工具可以帮助您。我推荐regex101

尝试使用双引号:

re.search("^ion': u'..', u'b", line):

或转义'

^{pr2}$

相关问题 更多 >