A. python正则表达式怎么区分正反斜线
首先,"/"左倾斜是正斜杠,"\"右倾斜是反斜杠,可以记为:除号是正斜杠一般来说对于目录分隔符,Unix和Web用正斜杠/,Windows用反斜杠,但是现在Windows
(一)目录中的斜杠们
python读文件需要输入的目录参数,列出以下例子:
path = r"C:\Windows\temp\readme.txt"
path1 = r"c:\windows\temp\readme.txt"
path2 = "c:\\windows\\temp\\readme.txt"
path3 = "c:/windows/temp/readme.txt"
打开文件函数open()中的参数可以是path也可以是path1、path2、path3。
path:"\"为字符串中的特殊字符,加上r后变为原始字符串,则不会对字符串中的"\t"、"\r" 进行字符串转义
path1:大小写不影响windows定位到文件
path2:用一个"\"取消第二个"\"的特殊转义作用,即为"\\"
path3:用正斜杠做目录分隔符也可以转到对应目录,并且在python中path3的方式也省去了反斜杠\转义的烦恼
(二)正则表达式中的斜杠们
正则表达式匹配反斜杠"\",为什么是"\\\\"或是 r"\\"呢?
因为在正则表达式中\为特殊符号,为了取消它在正则表达式中的特殊意义需要加一个\就变成了\\,但是问题又来了,\也是字符串中的特殊字符,所以又要分别对两个\取消其特殊意义,即为\\\\。Python中有一个原始字符串操作符,用于那些字符串中出现特殊字符,在原始字符串中,没有转义字符和不能打印的字符。这样就可以取消了\在字符串中的转义功能,即r"\\"。
-
B. python正则表达式是什么
python正则表达式是:
'hing'
'wing'
'123456'
'dddddd'
'regex.py'
'.*.py'
正则表达式(简称为 regex)是一些由字符和特殊符号组成的字符串, 描述了模式的重复或者表述多个字符。正则表达式能按照某种模式匹配一系列有相似特征的字符串。换句话说, 它们能够匹配多个字符串。
孤立的一个正则表达式并不能起到匹配字符串的作用,要让其能够匹配目标字符,需要创建一个正则表达式对象。通常向compile()函数传入一个原始字符形式的正则表达式,即 r'.....'。
要让正则表达式不区分大小写,可以向re.compile()传入re.IGNORECASE或re.I,作为第二个参数。通过传入re.DOTALL作为re.compile()的第二个参数,可以让句点字符匹配所有字符,包括换行字符。
C. 正则表达式完全匹配一个字符串
要完全匹配一个以"s"开头以"e"结尾的单词,可以使用正则表达式 ^sw*e$。
解释如下:
因此,^sw*e$这个正则表达式会匹配任何以"s"开头,后面跟着零个或多个字母数字字符,最终以"e"结尾的字符串,且整个字符串必须完全符合这个模式(即完全匹配)。
示例:
在Python中,可以使用re.findall函数或re.match函数来进行匹配。其中re.findall会返回所有匹配的子串行表,而re.match则尝试从字符串的起始位置匹配正则表达式,如果匹配成功,返回一个匹配对象;否则返回None。对于完全匹配的情况,使用re.match可能更为合适,因为它会确保从字符串的开头到结尾都符合正则表达式。