在 Python 中转义“:”?
Escape ":" in Python?
我正在使用 Python(和 Pytumblr)并试图从一些返回的数据中提取特定的字符串,但我正在搜索的字符串中包含“:”。每当我 运行 我的脚本时,我都会收到错误消息:
File "myfile.py", line 22
if re.search('^ion': u'..', u'b', line) :
^
SyntaxError: invalid syntax
这是我的代码:
import pytumblr
import re
returned = client.submission('blog') # get the submissions for a given blog
sch = open('returned')
for line in sch:
line = line.rstrip()
if re.search('^ion': u'..', u'b', line) :
print line
这段代码中是否还有其他错误,或者是否有我不知道的转义“:”的方法?我是 Python 的新手,但我不认为:需要转义。
尝试使用双引号:
re.search("^ion': u'..', u'b", line):
或转义'
:
re.search('^ion\': u\'..\', u\'b', line):
这是一个语法错误,因为您的冒号不是字符串的一部分。单引号 '
标记关闭字符串。您的第一个参数被解析为:
'^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
末尾的单引号成为字符串的一部分,您要么需要使用反斜杠转义 that '^ion\':
或者,也可以在字符串本身周围使用双引号。由于 Python 接受字符串文字标记的单引号和双引号,因此 'hello'
和 "hello"
意思相同。使 '"hello world"'
和 "'hello world'"
都是合法的字符串。
如果正则表达式是这里的痛点,那么有很多文献和工具可以提供帮助。我推荐 regex101
我正在使用 Python(和 Pytumblr)并试图从一些返回的数据中提取特定的字符串,但我正在搜索的字符串中包含“:”。每当我 运行 我的脚本时,我都会收到错误消息:
File "myfile.py", line 22
if re.search('^ion': u'..', u'b', line) :
^
SyntaxError: invalid syntax
这是我的代码:
import pytumblr
import re
returned = client.submission('blog') # get the submissions for a given blog
sch = open('returned')
for line in sch:
line = line.rstrip()
if re.search('^ion': u'..', u'b', line) :
print line
这段代码中是否还有其他错误,或者是否有我不知道的转义“:”的方法?我是 Python 的新手,但我不认为:需要转义。
尝试使用双引号:
re.search("^ion': u'..', u'b", line):
或转义'
:
re.search('^ion\': u\'..\', u\'b', line):
这是一个语法错误,因为您的冒号不是字符串的一部分。单引号 '
标记关闭字符串。您的第一个参数被解析为:
'^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
末尾的单引号成为字符串的一部分,您要么需要使用反斜杠转义 that '^ion\':
或者,也可以在字符串本身周围使用双引号。由于 Python 接受字符串文字标记的单引号和双引号,因此 'hello'
和 "hello"
意思相同。使 '"hello world"'
和 "'hello world'"
都是合法的字符串。
如果正则表达式是这里的痛点,那么有很多文献和工具可以提供帮助。我推荐 regex101