Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/batch-file/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
python正则表达式,字符类与特殊序列相同吗?_Python_Regex_Terminology - Fatal编程技术网

python正则表达式,字符类与特殊序列相同吗?

python正则表达式,字符类与特殊序列相同吗?,python,regex,terminology,Python,Regex,Terminology,从文件中 []-(用于指示一组字符) 字符类,如\w或\S(定义如下)也可在集合内接受 什么是字符类?我只熟悉特殊字符(*,+,?,等等)和特殊序列(\n,\r,\s,等等)。字符类是否指后一种特殊序列?或者它们是完全不同的东西?如果是这样,字符类具体包括什么 字符类在整个页面中仅显示2倍。它的定义很差,没有指明\w、\S是字符类的某些成员还是唯一的成员。进一步的测试表明,\n也可以在[]中使用,但不能像\A那样使用,这加剧了混淆。是的,它的定义有点不明确,但同时我认为它相当直观。简言之,

从文件中

[]
-(用于指示一组字符)


  • 字符类,如\w或\S(定义如下)也可在集合内接受
什么是
字符类
?我只熟悉
特殊字符
*
+
,等等)和
特殊序列
\n
\r
\s
,等等)。字符类是否指后一种
特殊序列
?或者它们是完全不同的东西?如果是这样,
字符类
具体包括什么



字符类
在整个页面中仅显示2倍。它的定义很差,没有指明
\w
\S
字符类的某些成员还是唯一的成员。进一步的测试表明,
\n
也可以在
[]
中使用,但不能像
\A
那样使用,这加剧了混淆。

是的,它的定义有点不明确,但同时我认为它相当直观。简言之,“字符类”是特殊字符,或以
\…
的形式表示多个字符组的“转义序列”,例如“所有空白”
\s
,“所有数字”
\d
,或“所有非空白”
\s
,并且是这些“特殊序列”的子集

您应该知道有三个字符类:

  • 数字
    \d
    ,对应于
    [0-9]
    ;请注意,这些与浮点数不匹配,因为
    不在
    \d
  • “word”-字符,
    \w
    ,对应于
    [a-zA-Z0-9\
    ,但(在Python 2中)不包括非ascii字符,如UMLAUT、重音符号等
  • 空白,
    \s
    ,如空格、制表符、换行符等
此外,每个字符类都可以使用各自的大写字母进行“倒排”,即
\W
匹配所有不在
\W
中的字符,并且与
\D
\S
类似


其他“特殊序列”仅包含一个字符,如换行符
\n
或tab
\t
(虽然它们实际上不是正则表达式语言的一部分,但只是基本的Python字符串转义序列),其他则表示抽象概念,如“单词和非单词之间”
\b
,或“在字符串的开头”
\A
是的,它的定义有点不准确,但同时我认为它相当直观。简言之,“字符类”是特殊字符,或以
\…
的形式表示多个字符组的“转义序列”,例如“全空白”
\s
,“所有数字”“
\d
”或“所有非空白”
\S
,并且是这些“特殊序列”的子集

您应该知道有三个字符类:

  • 数字
    \d
    ,对应于
    [0-9]
    ;请注意,这些与浮点数不匹配,因为
    不在
    \d
  • “word”-字符,
    \w
    ,对应于
    [a-zA-Z0-9\
    ,但(在Python 2中)不包括非ascii字符,如UMLAUT、重音符号等
  • 空白,
    \s
    ,如空格、制表符、换行符等
此外,每个字符类都可以使用各自的大写字母进行“倒排”,即
\W
匹配所有不在
\W
中的字符,并且与
\D
\S
类似


其他“特殊序列”仅包含一个字符,如换行符
\n
或tab
\t
(虽然它们实际上不是正则表达式语言的一部分,但只是基本的Python字符串转义序列),其他则表示抽象概念,如“单词和非单词之间”
\b
,或“在字符串的开头”
\A

“字符类,如\w或\S(定义如下)你试过向下滚动一点吗?字符类是一组特定字符的简写,比如数字、字母或字母whitespace@tobias_k字符类在整个页面中显示2倍。它的定义很差,没有指明是包含了
\w
\S
,还是仅包含这些内容。测试表明,
\n
也可以在括号内使用,但不能像
\A
那样使用。所以是的。我已经尝试过用正则表达式向下滚动,这是一个很好的开始。对此评论我很抱歉。是的,这是一个有点不明确的定义,但同时它是相当直观的,在我看来。简而言之,“字符类”是一组字符,如“所有空白”
\s
,“所有数字”、
\d
或“所有非空白”
\s
,是这些“特殊序列”的子集。“字符类如\w或\s(定义如下)”你试过向下滚动一点吗?字符类是一组特定字符的简写——比如数字、字母或字母whitespace@tobias_k字符类在整个页面中显示2倍。它的定义很差,没有指明是包含了
\w
\S
,还是仅包含这些内容。测试表明,
\n
也可以在括号内使用,但不能像
\A
那样使用。所以是的。我已经尝试过用正则表达式向下滚动,这是一个很好的开始。对此评论我很抱歉。是的,这是一个有点不明确的定义,但同时它是相当直观的,在我看来。简而言之,“字符类”是一组字符,例如“所有空白”
\s
,“所有数字”、
\d
或“所有非空白”
\s
,是这些“特殊序列”的子集。关于
\a
:Python的正则表达式风格是否支持
\a
^
的不同含义(大概是,
\Z
$