Python 寻找一个\*&引用;一串
我试图使用python在字符串中找到类似“/*”的字符串模式。 我尝试了如下代码片段:Python 寻找一个\*&引用;一串,python,Python,我试图使用python在字符串中找到类似“/*”的字符串模式。 我尝试了如下代码片段: strk = "*\" if strk in num print ("here it is") 但在第一行,我得到了一个错误声明: 语法错误:“扫描字符串文字时下线 如何使解释器区分用作字符串元素的“\”和用作换行符的“\”? 受以下链接的启发,我尝试使用 strk = "*(\)" 但这不起作用 实际上,您必须避开转义反斜杠 strk = "*\\" if strk in num: pri
strk = "*\"
if strk in num
print ("here it is")
但在第一行,我得到了一个错误声明:
语法错误:“扫描字符串文字时下线
如何使解释器区分用作字符串元素的“\”和用作换行符的“\”?
受以下链接的启发,我尝试使用
strk = "*(\)"
但这不起作用
实际上,您必须避开转义反斜杠
strk = "*\\"
if strk in num:
print ("here it is")
代码中出现了两个错误 第一个是,在将反斜杠(
\
)写入代码时,应该使用两个反斜杠,如\
。在许多语言中,一个反斜杠用于解释特殊字符,例如\n
代表新行,\t
代表制表符
第二个错误是if语句的结尾缺少冒号。我还建议您将代码设置为:
if "*\\" in word:
print(word)
其中,word
可以是任何字符串
如何使解释器区分用作字符串元素的“\”和用作换行符的“\”
好的,首先,\
不是换行符。\n
是换行符。\t
是制表符。依此类推。您已经在一些第三方文档中找到了它们的完整列表,所以我不会在这里列出它们
那么,解释器*如何区分表示实际反斜杠的\
与表示转义序列的第一个字符的\
呢
规则很简单:*它查看下一个字符,如果它是n
或t
或x
或列表中的任何其他字符,则\
是转义序列的第一个字符;否则,它只是一个简单的反斜杠。(对于原始字符串有一个单独的规则,但这里不必担心。***)
如果要确保有一个简单的反斜杠:请注意,\\
是\
的转义序列。因此,只需转义反斜杠,以确保它是反斜杠,而不是其他内容的转义:
strk = "*\\"
或者,用不伤脑筋的术语来说:将源代码字符串文本中的所有反斜杠加倍
*实际上,当它到达解释器时,它只是一个字符串常量对象;它是处理转义序列的编译器。但这在这里并不重要 **但这与C语言使用的规则不同。例如,在Python中,
\Q
表示反斜杠后跟一个Q,但在C语言中,它只是一个Q。大多数其他语言要么复制了C语言,要么只是错误地使用了不属于文档转义序列的反斜杠
***对于大多数与反斜杠相关的混淆情况,原始字符串会使一切变得更加容易。但是对于字符串末尾出现反斜杠的特定情况,它们反而会使事情变得更加混乱。是否尝试转义它?
“*\\“
你的标题写着\*
,你的描述写着/*
,你的代码写着`*`。你意识到这些都是完全不同的东西,搜索其中一个不会找到另外两个,对吗?*、/*或*你在搜索哪一个?”