Wikibooks
zhwikibooks
https://zh.wikibooks.org/wiki/Wikibooks:%E9%A6%96%E9%A1%B5
MediaWiki 1.39.0-wmf.21
first-letter
Media
Special
Talk
User
User talk
Wikibooks
Wikibooks talk
File
File talk
MediaWiki
MediaWiki talk
Template
Template talk
Help
Help talk
Category
Category talk
Transwiki
Transwiki talk
Wikijunior
Wikijunior talk
Subject
Subject talk
TimedText
TimedText talk
Module
Module talk
Gadget
Gadget talk
Gadget definition
Gadget definition talk
Python/运算符
0
25453
168188
147500
2022-07-25T02:08:35Z
Paho.mqtt
60409
wikitext
text/x-wiki
算术运算符为:+, -, *, / , %, // , **, _ 分别为加、减、乘、浮点除、取余数、整数除、幂运算、上个表达式结果的值。
比较运算符为:==, !=, >, <, >=, <= 是做 值 的比较
位运算符:&, |, ^, ~ , >>, <<
逻辑运算符: and, or, not
成员运算符: in, not in 在指定的序列中能否找到该值
身份运算符:is, is not 判断两个标识符是不是引用自一个对象,类似 id(x) == id(y) 是做地址比较
walrus运算符:在表达式中执行赋值操作。例如:
<syntaxhighlight lang="python">
# Handle a matched regex
if (match := pattern.search(data)) is not None:
# Do something with match
# A loop that can't be trivially rewritten using 2-arg iter()
while chunk := file.read(8192):
process(chunk)
# Reuse a value that's expensive to compute
[y := f(x), y**2, y**3]
# Share a subexpression between a comprehension filter clause and its output
filtered_data = [y for x in data if (y := f(x)) is not None]
</syntaxhighlight>
ij4e3rta04ldehela5gnvtgbx1b3mef
Python/Regular Expression
0
25551
168189
143371
2022-07-25T02:35:10Z
Paho.mqtt
60409
/* 匹配对象 */
wikitext
text/x-wiki
为在Python脚本中使用正则表达式,导入"re"模块:
<syntaxhighlight lang=python>
import re
</syntaxhighlight>
==概况==
Python中使用的正则表达式函数一瞥:
<syntaxhighlight lang=python>
import re
if re.search("l+","Hello"): print 1 # Substring match suffices
if not re.match("ell.","Hello"): print 2 # The beginning of the string has to match
if re.match(".el","Hello"): print 3
if re.match("he..o","Hello",re.I): print 4 # Case-insensitive match
print re.sub("l+", "l", "Hello") # Prints "Helo"; replacement AKA substitution
print re.sub(r"(.*)\1", r"\1", "HeyHey") # Prints "Hey"; backreference
print re.sub("EY", "ey", "HEy", flags=re.I) # Prints "Hey"; case-insensitive sub
print re.sub(r"(?i)EY", r"ey", "HEy") # Prints "Hey"; case-insensitive sub
for match in re.findall("l+.", "Hello Dolly"):
print match # Prints "llo" and then "lly"
for match in re.findall("e(l+.)", "Hello Dolly"):
print match # Prints "llo"; match picks group 1
for match in re.findall("(l+)(.)", "Hello Dolly"):
print match[0], match[1] # The groups end up as items in a tuple
matchObj = re.match("(Hello|Hi) (Tom|Thom)","Hello Tom Bombadil")
if matchObj is not None:
print matchObj.group(0) # Prints the whole match disregarding groups
print matchObj.group(1) + matchObj.group(2) # Prints "HelloTom"
</syntaxhighlight>
==匹配与搜索==
函数match与search分别作匹配与搜索。仅当从字符串开头就匹配时,函数match才返回结果。函数search在字符串任意位置找到一个匹配就是成功。
<syntaxhighlight lang=python>
>>> import re
>>> foo = re.compile(r'foo(.{,5})bar', re.I+re.S)
>>> st1 = 'Foo, Bar, Baz'
>>> st2 = '2. foo is bar'
>>> search1 = foo.search(st1)
>>> search2 = foo.search(st2)
>>> match1 = foo.match(st1)
>>> match2 = foo.match(st2)
</syntaxhighlight>
上例中,match2将是<code>None</code>,因为字符串<code>st2</code>开头之处并不匹配模式。其他3个结果将返回匹配对象(详见下)。
也可不做编译,就直接搜索或匹配:
<syntaxhighlight lang=python>
>>> search3 = re.search('oo.*ba', st1, re.I)
</syntaxhighlight>
编译出来的模式对象(pattern object)的函数可以有参数表示搜索的开始、结束位置。例如:
<syntaxhighlight lang=python>
>>> match3 = foo.match(st2, 3)
</syntaxhighlight>
从字符串st2的位置为3的字符开始搜索。
如想要搜索模式的多个实例,有两种办法:loop循环中用搜索的开始、结束位置;使用函数findall与finditer。函数findall返回匹配字符串的列表。函数finditer返回一个迭代对象,用于loop循环中产生匹配对象。例如:
<syntaxhighlight lang=python>
>>> str3 = 'foo, Bar Foo. BAR Foo: bar'
>>> foo.findall(str3)
[', ', '. ', ': ']
>>> for match in foo.finditer(str3):
... match.group(1)
...
', '
'. '
': '
</syntaxhighlight>
===匹配对象===
函数search与match返回匹配对象(match object),该对象包含了模式匹配信息。如果不存在匹配结果,则返回NoneType。
其成员函数group返回一个字符串对应于捕获群(capture group),即正则表达式中被<code>()</code>包围的部分。如果没有捕获群,则返回整个匹配得到的字符串。
例如:
<syntaxhighlight lang=python>
>>> search1.group()
'Foo, Bar'
>>> search1.group(1)
', '
</syntaxhighlight>
捕获群如果有命名,可以用<code>matchobj.group('name')</code>访问。
可以用函数start与end得到匹配群在字符串中位值:
<syntaxhighlight lang=python>
>>> search1.start()
0
>>> search1.end()
8
>>> search1.start(1)
3
>>> search1.end(1)
5
</syntaxhighlight>
这分别返回整个匹配,以及第一个匹配的开始与结束位置。
属性:
*string: 匹配时使用的文本。
*re: 匹配时使用的Pattern对象(字符串)。
*pos: 正则表达式开始搜索的字符串位置。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
*endpos: 正则表达式结束搜索的字符串位置。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
*lastindex: 最后一个捕获群在文本中的编号。如果没有被捕获的分组,将为None。
*lastgroup: 最后一个捕获群的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。
方法:
* group([group1, …]):获得一个或多个指定的捕获群所对应的截获字符串;指定多个参数时将以元组形式返回。参数可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的返回None;截获了多次的返回最后一次截获的子串。
* groups([default]):以元组形式返回全部的捕获群所对应的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,默认为None。
* groupdict([default]):返回有别名的捕获群的字典,其中别名为键、截获的子串为值。没有别名的字典不包含在内。default含义同上。
* start([group]):返回指定的捕获群所对应的子串在string中的起始位置(子串第一个字符的位置)。group默认值为0。
* end([group]):返回指定的捕获群所对应的子串在string中的结束位置(子串最后一个字符的位置+1)。group默认值为0。
* span([group]):返回(start(group), end(group))。
* expand(template):将匹配到的捕获群代入template中然后返回。template中可以使用\id或\g<id>、\g<name>引用捕获群,但不能使用编号0。\id与\g<id>是等价的;但\10将被认为是第10个分组,如果你想表达\1之后是字符'0',只能使用\g<1>0。
==替换==
函数sub做子字符串替换。5个参数依次为:被替换的子字符串的模式、作为替换值的子字符串模式或函数(参数为一个matched对象)、被替换的字符串、可选的最大替换数量、正则表达式的标志位。返回替换后的字符串。
下例是替换但不事先编译出对象:
<syntaxhighlight lang=python>
>>> result = re.sub(r"b.*d","z","abccde")
>>> result
'aze'
</syntaxhighlight>
编译出对象后使用:
<syntaxhighlight lang=python>
>>> import re
>>> mystring = 'This string has a q in it'
>>> pattern = re.compile(r'(a[n]? )(\w) ')
>>> newstring = pattern.sub(r"\1'\2' ", mystring)
>>> newstring
"This string has a 'q' in it"
</syntaxhighlight>
这取单个字符数字符(\w在正则表达式中的含义),前缀以"a"或"an",然后用单引号包围。替换字符串模式中的<code>\1</code>与<code>\2</code>反引用(backreferences)表达式中的2个捕获群(capture group);这是搜索产生的Match对象中的group(1)与group(2)。
函数subn类似于sub,但返回一个元组,包括结果字符串与实际替换的数量。例如:
<syntaxhighlight lang=python>
>>> subresult = pattern.subn(r"\1'\2' ", mystring)
>>> subresult
("This string has a 'q' in it", 1)
</syntaxhighlight>
==分割==
函数split使用正则表达式分隔一个字符串:
<syntaxhighlight lang=python>
>>> import re
>>> mystring = '1. First part 2. Second part 3. Third part'
>>> re.split(r'\d\.', mystring)
['', ' First part ', ' Second part ', ' Third part']
</syntaxhighlight>
==转义==
函数re.escape把字符串中所有非字母数字的字符全部转义。这可用于处理未知字符串,其中包含一些元字符如<code>(</code>或<code>.</code>,用于创建正则表达式。
<syntaxhighlight lang=python>
>>> re.escape(r'This text (and this) must be escaped with a "\" to use in a regexp.')
'This\\ text\\ \\(and\\ this\\)\\ must\\ be\\ escaped\\ with\\ a\\ \\"\\\\\\"\\ to\\ use\\ in\\ a\\ regexp\\.'
</syntaxhighlight>
==标志==
正则表达式使用如下标志(flag):
{| class=wikitable
! 缩写 !! 全名 !! 描述
|-
| <code>re.I</code>|| <code>re.IGNORECASE</code> || 忽略大小写
|-
| <code>re.L</code>|| <code>re.LOCALE</code> || 某些序列(<code>\w, \W, \b, \B, \s, \S</code>)的行为依赖于当前[[w:locale|locale]]
|-
| <code>re.M</code>|| <code>re.MULTILINE</code> || <code>^</code>与<code>$</code>字符匹配每一行的开始与结束,而不只是字符串的开始与结束。
|-
| <code>re.S</code>|| <code>re.DOTALL</code> || <code>.</code>字符匹配任何字符,包括换行符
|-
| <code>re.U</code>|| <code>re.UNICODE</code> || <code>\w, \W, \b, \B, \d, \D, \s, \S</code>依赖于Unicode字符属性。
|-
| <code>re.X</code>|| <code>re.VERBOSE</code> || 忽略空白符,除非在字符类或前缀非转义的反斜线;忽略<code>#</code>(除非在字符类或前缀非转义的反斜线)及其后直至行尾的字符,因而可用于注释,这使得外观更清晰。regexps.
|}
==模式对象==
如果一个正则表达式被使用多次,应该创建一个模式对象(pattern object),用于搜索/匹配。
为此需使用函数compile:
<syntaxhighlight lang=python>
import re
foo = re.compile(r'foo(.{,5})bar', re.I+re.S)
</syntaxhighlight>
第一个参数,指出匹配字符串"foo"后跟至多5个任意字符再跟字符串"bar",存储中间的字符为一个组(group)。第二个参数是可选的标志,以修改正则表达式的行为。某些正则表达式函数不支持标志参数,因此可能需要先创建这种模式对象。
只读属性:
* pattern: 编译时用的表达式字符串。
* flags: 编译时用的匹配模式。数字形式。
* groups: 表达式中捕获群的数量。
* groupindex: 以表达式中有别名的捕获群的别名为键、以该捕获群对应的编号为值的字典,没有别名的组不包含在内。
==外部链接==
* [https://docs.python.org/zh-cn/3/library/re.html Python 标准库中关于 re 模块的文档]
obj2qhlu33g5m0lzj806aijbl0nqkx7
168190
168189
2022-07-25T06:06:30Z
Paho.mqtt
60409
wikitext
text/x-wiki
为在Python脚本中使用正则表达式,导入"re"模块:
<syntaxhighlight lang=python>
import re
</syntaxhighlight>
==概况==
Python中使用的正则表达式函数一瞥:
<syntaxhighlight lang=python>
import re
if re.search("l+","Hello"): print 1 # Substring match suffices
if not re.match("ell.","Hello"): print 2 # The beginning of the string has to match
if re.match(".el","Hello"): print 3
if re.match("he..o","Hello",re.I): print 4 # Case-insensitive match
print re.sub("l+", "l", "Hello") # Prints "Helo"; replacement AKA substitution
print re.sub(r"(.*)\1", r"\1", "HeyHey") # Prints "Hey"; backreference
print re.sub("EY", "ey", "HEy", flags=re.I) # Prints "Hey"; case-insensitive sub
print re.sub(r"(?i)EY", r"ey", "HEy") # Prints "Hey"; case-insensitive sub
for match in re.findall("l+.", "Hello Dolly"):
print match # Prints "llo" and then "lly"
for match in re.findall("e(l+.)", "Hello Dolly"):
print match # Prints "llo"; match picks group 1
for match in re.findall("(l+)(.)", "Hello Dolly"):
print match[0], match[1] # The groups end up as items in a tuple
matchObj = re.match("(Hello|Hi) (Tom|Thom)","Hello Tom Bombadil")
if matchObj is not None:
print matchObj.group(0) # Prints the whole match disregarding groups
print matchObj.group(1) + matchObj.group(2) # Prints "HelloTom"
</syntaxhighlight>
==匹配与搜索==
函数match与search分别作匹配与搜索。仅当从字符串开头就匹配时,函数match才返回结果。函数search在字符串任意位置找到一个匹配就是成功。
<syntaxhighlight lang=python>
>>> import re
>>> foo = re.compile(r'foo(.{,5})bar', re.I+re.S)
>>> st1 = 'Foo, Bar, Baz'
>>> st2 = '2. foo is bar'
>>> search1 = foo.search(st1)
>>> search2 = foo.search(st2)
>>> match1 = foo.match(st1)
>>> match2 = foo.match(st2)
</syntaxhighlight>
上例中,match2将是<code>None</code>,因为字符串<code>st2</code>开头之处并不匹配模式。其他3个结果将返回匹配对象(详见下)。
也可不做编译,就直接搜索或匹配:
<syntaxhighlight lang=python>
>>> search3 = re.search('oo.*ba', st1, re.I)
</syntaxhighlight>
编译出来的模式对象(pattern object)的函数可以有参数表示搜索的开始、结束位置。例如:
<syntaxhighlight lang=python>
>>> match3 = foo.match(st2, 3)
</syntaxhighlight>
从字符串st2的位置为3的字符开始搜索。
如想要搜索模式的多个实例,有两种办法:loop循环中用搜索的开始、结束位置;使用函数findall与finditer。函数findall返回匹配字符串的列表。函数finditer返回一个迭代对象,用于loop循环中产生匹配对象。例如:
<syntaxhighlight lang=python>
>>> str3 = 'foo, Bar Foo. BAR Foo: bar'
>>> foo.findall(str3)
[', ', '. ', ': ']
>>> for match in foo.finditer(str3):
... match.group(1)
...
', '
'. '
': '
</syntaxhighlight>
===匹配对象===
函数search与match返回匹配对象(match object),该对象包含了模式匹配信息。如果不存在匹配结果,则返回NoneType。
其成员函数group返回一个字符串对应于捕获群(capture group),即正则表达式中被<code>()</code>包围的部分。如果没有捕获群,则返回整个匹配得到的字符串。
例如:
<syntaxhighlight lang=python>
>>> search1.group()
'Foo, Bar'
>>> search1.group(1)
', '
</syntaxhighlight>
捕获群如果有命名,可以用<code>matchobj.group('name')</code>访问。
可以用函数start与end得到匹配群在字符串中位值:
<syntaxhighlight lang=python>
>>> search1.start()
0
>>> search1.end()
8
>>> search1.start(1)
3
>>> search1.end(1)
5
</syntaxhighlight>
这分别返回整个匹配,以及第一个匹配的开始与结束位置。
属性:
*string: 匹配时使用的文本。
*re: 匹配时使用的Pattern对象(字符串)。
*pos: 正则表达式开始搜索的字符串位置。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
*endpos: 正则表达式结束搜索的字符串位置。值与Pattern.match()和Pattern.seach()方法的同名参数相同。
*lastindex: 最后一个捕获群在文本中的编号。如果没有被捕获的分组,将为None。
*lastgroup: 最后一个捕获群的别名。如果这个分组没有别名或者没有被捕获的分组,将为None。
方法:
* group([group1, …]):获得一个或多个指定的捕获群所对应的截获字符串;指定多个参数时将以元组形式返回。参数可以使用编号也可以使用别名;编号0代表整个匹配的子串;不填写参数时,返回group(0);没有截获字符串的返回None;截获了多次的返回最后一次截获的子串。
* groups([default]):以元组形式返回全部的捕获群所对应的字符串。相当于调用group(1,2,…last)。default表示没有截获字符串的组以这个值替代,默认为None。
* groupdict([default]):返回有别名的捕获群的字典,其中别名为键、截获的子串为值。没有别名的字典不包含在内。default含义同上。
* start([group]):返回指定的捕获群所对应的子串在string中的起始位置(子串第一个字符的位置)。group默认值为0。
* end([group]):返回指定的捕获群所对应的子串在string中的结束位置(子串最后一个字符的位置+1)。group默认值为0。
* span([group]):返回(start(group), end(group))。
* expand(template):将匹配到的捕获群代入template中然后返回。template中可以使用\id或\g<id>、\g<name>引用捕获群,但不能使用编号0。\id与\g<id>是等价的;但\10将被认为是第10个分组,如果你想表达\1之后是字符'0',只能使用\g<1>0。
==替换==
函数sub做子字符串替换。5个参数依次为:被替换的子字符串的模式、作为替换值的子字符串模式或函数(参数为一个matched对象)、被替换的字符串、可选的最大替换数量、正则表达式的标志位。返回替换后的字符串。
下例是替换但不事先编译出对象:
<syntaxhighlight lang=python>
>>> result = re.sub(r"b.*d","z","abccde")
>>> result
'aze'
</syntaxhighlight>
编译出对象后使用:
<syntaxhighlight lang=python>
>>> import re
>>> mystring = 'This string has a q in it'
>>> pattern = re.compile(r'(a[n]? )(\w) ')
>>> newstring = pattern.sub(r"\1'\2' ", mystring)
>>> newstring
"This string has a 'q' in it"
</syntaxhighlight>
这取单个字符数字符(\w在正则表达式中的含义),前缀以"a"或"an",然后用单引号包围。替换字符串模式中的<code>\1</code>与<code>\2</code>反引用(backreferences)表达式中的2个捕获群(capture group);这是搜索产生的Match对象中的group(1)与group(2)。
函数subn类似于sub,但返回一个元组,包括结果字符串与实际替换的数量。例如:
<syntaxhighlight lang=python>
>>> subresult = pattern.subn(r"\1'\2' ", mystring)
>>> subresult
("This string has a 'q' in it", 1)
</syntaxhighlight>
==分割==
函数split使用正则表达式分隔一个字符串:
<syntaxhighlight lang=python>
>>> import re
>>> mystring = '1. First part 2. Second part 3. Third part'
>>> re.split(r'\d\.', mystring)
['', ' First part ', ' Second part ', ' Third part']
</syntaxhighlight>
==转义==
函数re.escape把字符串中所有非字母数字的字符全部转义。这可用于处理未知字符串,其中包含一些元字符如<code>(</code>或<code>.</code>,用于创建正则表达式。
<syntaxhighlight lang=python>
>>> re.escape(r'This text (and this) must be escaped with a "\" to use in a regexp.')
'This\\ text\\ \\(and\\ this\\)\\ must\\ be\\ escaped\\ with\\ a\\ \\"\\\\\\"\\ to\\ use\\ in\\ a\\ regexp\\.'
</syntaxhighlight>
==标志==
正则表达式使用如下标志(flag):
{| class=wikitable
! 缩写 !! 全名 !! 描述
|-
| <code>re.I</code>|| <code>re.IGNORECASE</code> || 忽略大小写
|-
| <code>re.L</code>|| <code>re.LOCALE</code> || 某些序列(<code>\w, \W, \b, \B, \s, \S</code>)的行为依赖于当前[[w:locale|locale]]
|-
| <code>re.M</code>|| <code>re.MULTILINE</code> || <code>^</code>与<code>$</code>字符匹配每一行的开始与结束,而不只是字符串的开始与结束。
|-
| <code>re.S</code>|| <code>re.DOTALL</code> || <code>.</code>字符匹配任何字符,包括换行符
|-
| <code>re.U</code>|| <code>re.UNICODE</code> || <code>\w, \W, \b, \B, \d, \D, \s, \S</code>依赖于Unicode字符属性。
|-
| <code>re.X</code>|| <code>re.VERBOSE</code> || 忽略空白符,除非在字符类或前缀非转义的反斜线;忽略<code>#</code>(除非在字符类或前缀非转义的反斜线)及其后直至行尾的字符,因而可用于注释,这使得外观更清晰。regexps.
|}
==模式对象==
如果一个正则表达式被使用多次,应该创建一个模式对象(pattern object),用于搜索/匹配。
为此需使用函数compile:
<syntaxhighlight lang=python>
import re
foo = re.compile(r'foo(.{,5})bar', re.I+re.S)
</syntaxhighlight>
第一个参数,指出匹配字符串"foo"后跟至多5个任意字符再跟字符串"bar",存储中间的字符为一个组(group)。第二个参数是可选的标志,以修改正则表达式的行为。某些正则表达式函数不支持标志参数,因此可能需要先创建这种模式对象。
只读属性:
* pattern: 编译时用的表达式字符串。
* flags: 编译时用的匹配模式。数字形式。
* groups: 表达式中捕获群的数量。
* groupindex: 以表达式中有别名的捕获群的别名为键、以该捕获群对应的编号为值的字典,没有别名的组不包含在内。
==其他==
(?imx:pattern) 对pattern使用I或M或X选项
(?-imx:pattern) 对pattern关闭I或M或X选项
(?P<name>pattern) 给pattern命名为name
(?P=name)使用一个命名的pattern,例如:re.findall(r'(?P<g1>[a-z]+)\d+(?P=g1)',s)
(?#some text) 注释
==外部链接==
* [https://docs.python.org/zh-cn/3/library/re.html Python 标准库中关于 re 模块的文档]
bgmgsbl101npqf9g9hu6jfknkeno9j7
Wikibooks:GUS2Wiki
4
32222
168187
168177
2022-07-24T20:49:27Z
Alexis Jazz
55150
Updating gadget usage statistics from [[Special:GadgetUsage]] ([[phab:T121049]])
wikitext
text/x-wiki
{{#ifexist:Project:GUS2Wiki/top|{{/top}}|This page provides a historical record of [[Special:GadgetUsage]] through its page history. To get the data in CSV format, see wikitext. To customize this message or add categories, create [[/top]].}}
以下是缓存的数据,最后更新于2022-07-23T21:39:26Z。缓存中最多有{{PLURAL:5000|5000条结果}}。
{| class="sortable wikitable"
! 小工具 !! data-sort-type="number" | 用户人数 !! data-sort-type="number" | 活跃用户
|-
|Cat-a-lot || 32 || 4
|-
|Edittools-VFD || 54 || 4
|-
|Edittools-ZHC || 72 || 4
|-
|Edittools-cite || 78 || 4
|-
|Edittools-default || 60 || 2
|-
|Edittools-plus || 123 || 4
|-
|Edittools-user || 41 || 1
|-
|HotCat || 105 || 5
|-
|JSL || 88 || 2
|-
|Navigation popups || 89 || 3
|-
|PreviewWithVariant || 23 || 3
|-
|UTCLiveClock || 91 || 3
|-
|contribsrange || 52 || 3
|-
|easy-archive || 10 || 3
|-
|edit0 || 87 || 5
|-
|internalLinkHelper-ilbluehl || 3 || 1
|-
|internalLinkHelper-redtipsy || 3 || 1
|-
|specialchars || 76 || 5
|-
|wikimediaplayer || 75 || 2
|}
* [[Special:GadgetUsage]]
* [[w:en:Wikipedia:GUS2Wiki/Script|GUS2Wiki]]
<!-- data in CSV format:
Cat-a-lot,32,4
Edittools-VFD,54,4
Edittools-ZHC,72,4
Edittools-cite,78,4
Edittools-default,60,2
Edittools-plus,123,4
Edittools-user,41,1
HotCat,105,5
JSL,88,2
Navigation popups,89,3
PreviewWithVariant,23,3
UTCLiveClock,91,3
contribsrange,52,3
easy-archive,10,3
edit0,87,5
internalLinkHelper-ilbluehl,3,1
internalLinkHelper-redtipsy,3,1
specialchars,76,5
wikimediaplayer,75,2
-->
my5ysq6tzko5vf5kboubjb975hgqml4
168193
168187
2022-07-25T07:24:19Z
Alexis Jazz
55150
Updating gadget usage statistics from [[Special:GadgetUsage]] ([[phab:T121049]])
wikitext
text/x-wiki
{{#ifexist:Project:GUS2Wiki/top|{{/top}}|This page provides a historical record of [[Special:GadgetUsage]] through its page history. To get the data in CSV format, see wikitext. To customize this message or add categories, create [[/top]].}}
以下是缓存的数据,最后更新于2022-07-23T21:39:26Z。缓存中最多有{{PLURAL:5000|5000条结果}}。
{| class="sortable wikitable"
! 小工具 !! data-sort-type="number" | 用户人数 !! data-sort-type="number" | 活跃用户
|-
|AdvancedSiteNotices || data-sort-value="Infinity" | 默认 || data-sort-value="Infinity" | 默认
|-
|Blackskin || 15 || 0
|-
|Cat-a-lot || 32 || 4
|-
|CleanDeleteReasons || data-sort-value="Infinity" | 默认 || data-sort-value="Infinity" | 默认
|-
|Edittools-VFD || 54 || 4
|-
|Edittools-ZHC || 72 || 4
|-
|Edittools-admin || 31 || 0
|-
|Edittools-cite || 78 || 4
|-
|Edittools-default || 60 || 2
|-
|Edittools-plus || 123 || 4
|-
|Edittools-user || 41 || 1
|-
|HotCat || 105 || 5
|-
|JSL || 88 || 2
|-
|Navigation popups || 89 || 3
|-
|PreviewWithVariant || 23 || 3
|-
|UTCLiveClock || 91 || 3
|-
|blinktalk || 34 || 0
|-
|contribsrange || 52 || 3
|-
|easy-archive || 10 || 3
|-
|edit0 || 87 || 5
|-
|hantsect || 51 || 0
|-
|internalLinkHelper-altcolor || data-sort-value="Infinity" | 默认 || data-sort-value="Infinity" | 默认
|-
|internalLinkHelper-cravix || 2 || 0
|-
|internalLinkHelper-external || 1 || 0
|-
|internalLinkHelper-ilbluehl || 3 || 1
|-
|internalLinkHelper-redonly || 1 || 0
|-
|internalLinkHelper-redplain || 2 || 0
|-
|internalLinkHelper-redtipsy || 3 || 1
|-
|internalLinkHelper-suffix || 3 || 0
|-
|moveEditsection || 31 || 0
|-
|noteTA || data-sort-value="Infinity" | 默认 || data-sort-value="Infinity" | 默认
|-
|popupUserLanguage || 38 || 0
|-
|removeAccessKeys || 18 || 0
|-
|specialchars || 76 || 5
|-
|wikEd || 70 || 0
|-
|wikEd intl hans || 78 || 0
|-
|wikEd intl hant || 50 || 0
|-
|wikimediaplayer || 75 || 2
|}
* [[Special:GadgetUsage]]
* [[w:en:Wikipedia:GUS2Wiki/Script|GUS2Wiki]]
<!-- data in CSV format:
AdvancedSiteNotices,default,default
Blackskin,15,0
Cat-a-lot,32,4
CleanDeleteReasons,default,default
Edittools-VFD,54,4
Edittools-ZHC,72,4
Edittools-admin,31,0
Edittools-cite,78,4
Edittools-default,60,2
Edittools-plus,123,4
Edittools-user,41,1
HotCat,105,5
JSL,88,2
Navigation popups,89,3
PreviewWithVariant,23,3
UTCLiveClock,91,3
blinktalk,34,0
contribsrange,52,3
easy-archive,10,3
edit0,87,5
hantsect,51,0
internalLinkHelper-altcolor,default,default
internalLinkHelper-cravix,2,0
internalLinkHelper-external,1,0
internalLinkHelper-ilbluehl,3,1
internalLinkHelper-redonly,1,0
internalLinkHelper-redplain,2,0
internalLinkHelper-redtipsy,3,1
internalLinkHelper-suffix,3,0
moveEditsection,31,0
noteTA,default,default
popupUserLanguage,38,0
removeAccessKeys,18,0
specialchars,76,5
wikEd,70,0
wikEd intl hans,78,0
wikEd intl hant,50,0
wikimediaplayer,75,2
-->
bcwqopx64njrwvj7m4igwl8cb9ry8z6
世界歷史/書籍
0
32232
168191
2022-07-25T06:55:59Z
58.16.215.115
创建页面,内容为“=西游记= 西游记》是中国古代第一部浪漫主义章回体长篇神魔小说。 [47] 作者是明代吴承恩,现存明刊百回本《西游记》均无作者署名,鲁迅、胡适等人从《天启淮安府志》所载断定淮安府人吴承恩即是章回小说《西游记》作者 [48] 。 全书主要描写了孙悟空出世及大闹天宫后,遇见了唐僧、猪八戒、沙僧和白龙马,西行取经,一路上历经艰险,降妖…”
wikitext
text/x-wiki
=西游记=
西游记》是中国古代第一部浪漫主义章回体长篇神魔小说。 [47] 作者是明代吴承恩,现存明刊百回本《西游记》均无作者署名,鲁迅、胡适等人从《天启淮安府志》所载断定淮安府人吴承恩即是章回小说《西游记》作者 [48] 。
全书主要描写了孙悟空出世及大闹天宫后,遇见了唐僧、猪八戒、沙僧和白龙马,西行取经,一路上历经艰险,降妖除魔,经历了九九八十一难,终于到达西天见到如来佛祖,最终五圣成真的故事。该小说以“玄奘取经”这一历史事件为蓝本,经作者的艺术型加工,更能深刻地描绘出明代百姓的社会生活状况。
=三国演义=
《三国演义》(全名为《三国志通俗演义》,又称《三国志演义》)是元末明初小说家罗贯中根据陈寿《三国志》和裴松之注解以及民间三国故事传说经过艺术加工创作而成的长篇章回体历史演义小说,与《西游记》《水浒传》《红楼梦》并称为中国古典四大名著。该作品成书后有嘉靖壬午本等多个版本传于世,到了明末清初,毛宗岗对《三国演义》整顿回目、修正文辞、改换诗文,该版本也成为诸多版本中水平最高、流传最广的版本。
《三国演义》可大致分为黄巾起义、董卓之乱、群雄逐鹿、三国鼎立、三国归晋五大部分,描写了从东汉末年到西晋初年之间近百年的历史风云,以描写战争为主,诉说了东汉末年的群雄割据混战和魏、蜀、吴三国之间的政治和军事斗争,最终司马炎一统三国,建立晋朝的故事。反映了三国时代各类社会斗争与矛盾的转化,并概括了这一时代的历史巨变,塑造了一群叱咤风云的三国英雄人物。
《三国演义》是中国文学史上第一部章回小说,是历史演义小说的开山之作,也是第一部文人长篇小说,明清时期甚至有“第一才子书”之称。 [1]
=红楼梦=
《红楼梦》,别名《石头记》等,中国古代章回体长篇小说,中国古典四大名著之一,通行本共120回,一般认为前80回是清代作家曹雪芹所著,后40回作者为无名氏,整理者为程伟元、高鹗。小说以贾、史、王、薛四大家族的兴衰为背景,以富贵公子贾宝玉为视角,以贾宝玉与林黛玉、薛宝钗的爱情婚姻悲剧为主线,描绘了一些闺阁佳人的人生百态,展现了真正的人性美和悲剧美,可以说是一部从各个角度展现女性美以及中国古代社会百态的史诗性著作。
《红楼梦》版本有120回“程本”和80回“脂本”两大系统。程本为程伟元排印的印刷本,脂本为脂砚斋在不同时期抄评的早期手抄本。脂本是程本的底本。
《红楼梦》是一部具有世界影响力的人情小说、中国封建社会的百科全书、传统文化的集大成者。其作者以“大旨谈情,实录其事”自勉,只按自己的事体情理,按迹循踪,摆脱旧套,新鲜别致,取得了非凡的艺术成就。“真事隐去,假语存焉”的特殊笔法更是令后世读者脑洞大开,揣测之说久而遂多。二十世纪以来,《红楼梦》更以其丰富深刻的思想底蕴和异常出色的艺术成就使学术界产生了以为研究对象的专门学问——红学。 [6]
52lf8hf60830z27nhad0dwt3sv0f5ic
168192
168191
2022-07-25T07:23:11Z
Wjzgl08
60798
wikitext
text/x-wiki
=西游记=
西游记》是中国古代第一部浪漫主义章回体长篇神魔小说。 [47] 作者是明代吴承恩,现存明刊百回本《西游记》均无作者署名,鲁迅、胡适等人从《天启淮安府志》所载断定淮安府人吴承恩即是章回小说《西游记》作者 [48] 。
全书主要描写了孙悟空出世及大闹天宫后,遇见了唐僧、猪八戒、沙僧和白龙马,西行取经,一路上历经艰险,降妖除魔,经历了九九八十一难,终于到达西天见到如来佛祖,最终五圣成真的故事。该小说以“玄奘取经”这一历史事件为蓝本,经作者的艺术型加工,更能深刻地描绘出明代百姓的社会生活状况。
=三国演义=
《三国演义》(全名为《三国志通俗演义》,又称《三国志演义》)是元末明初小说家罗贯中根据陈寿《三国志》和裴松之注解以及民间三国故事传说经过艺术加工创作而成的长篇章回体历史演义小说,与《西游记》《水浒传》《红楼梦》并称为中国古典四大名著。该作品成书后有嘉靖壬午本等多个版本传于世,到了明末清初,毛宗岗对《三国演义》整顿回目、修正文辞、改换诗文,该版本也成为诸多版本中水平最高、流传最广的版本。
《三国演义》可大致分为黄巾起义、董卓之乱、群雄逐鹿、三国鼎立、三国归晋五大部分,描写了从东汉末年到西晋初年之间近百年的历史风云,以描写战争为主,诉说了东汉末年的群雄割据混战和魏、蜀、吴三国之间的政治和军事斗争,最终司马炎一统三国,建立晋朝的故事。反映了三国时代各类社会斗争与矛盾的转化,并概括了这一时代的历史巨变,塑造了一群叱咤风云的三国英雄人物。
《三国演义》是中国文学史上第一部章回小说,是历史演义小说的开山之作,也是第一部文人长篇小说,明清时期甚至有“第一才子书”之称。 [1]
=红楼梦=
《红楼梦》,别名《石头记》等,中国古代章回体长篇小说,中国古典四大名著之一,通行本共120回,一般认为前80回是清代作家曹雪芹所著,后40回作者为无名氏,整理者为程伟元、高鹗。小说以贾、史、王、薛四大家族的兴衰为背景,以富贵公子贾宝玉为视角,以贾宝玉与林黛玉、薛宝钗的爱情婚姻悲剧为主线,描绘了一些闺阁佳人的人生百态,展现了真正的人性美和悲剧美,可以说是一部从各个角度展现女性美以及中国古代社会百态的史诗性著作。
《红楼梦》版本有120回“程本”和80回“脂本”两大系统。程本为程伟元排印的印刷本,脂本为脂砚斋在不同时期抄评的早期手抄本。脂本是程本的底本。
《红楼梦》是一部具有世界影响力的人情小说、中国封建社会的百科全书、传统文化的集大成者。其作者以“大旨谈情,实录其事”自勉,只按自己的事体情理,按迹循踪,摆脱旧套,新鲜别致,取得了非凡的艺术成就。“真事隐去,假语存焉”的特殊笔法更是令后世读者脑洞大开,揣测之说久而遂多。二十世纪以来,《红楼梦》更以其丰富深刻的思想底蕴和异常出色的艺术成就使学术界产生了以为研究对象的专门学问——红学。 [6]
=史记=
《史记》是我国著名史学家司马迁所著的史学巨著,列“二十四史”之首,记载了从传说中的黄帝开始一直到汉武帝元狩元年(前122)三千年左右的历史,被誉为“史家之绝唱,无韵之《离骚》”。
=水浒传=
《水浒传》是元末明初施耐庵(现存刊本署名大多有施耐庵、罗贯中两人中的一人,或两人皆有)编著的章回体长篇小说。
全书通过描写梁山好汉反抗欺压、水泊梁山壮大和受宋朝招安,以及受招安后为宋朝征战,最终消亡的宏大故事,艺术地反映了中国历史上宋江起义从发生、发展直至失败的全过程,深刻揭示了起义的社会根源,满腔热情地歌颂了起义英雄的反抗斗争和他们的社会理想,也具体揭示了起义失败的内在历史原因。 [28]
《水浒传》是中国古典四大名著之一,问世后,在社会上产生了巨大的影响,成了后世中国小说创作的典范。《水浒传》是中国历史上最早用白话文写成的章回小说之一,流传极广,脍炙人口;同时也是汉语言文学中具备史诗特征的作品之一,对中国乃至东亚的叙事文学都有深远的影响。
=资治通鉴=
《资治通鉴》(常简作《通鉴》),是由北宋史学家司马光主编的一部多卷本编年体史书,共294卷,历时十九年完成。主要以时间为纲,事件为目,从周威烈王二十三年(公元前403年)写起,到五代后周世宗显德六年(公元959年)征淮南停笔,涵盖十六朝1362年的历史。
在这部书里,编者总结出许多经验教训,供统治者借鉴,宋神宗认为此书“鉴于往事,有资于治道”,即以历史的得失作为鉴诫来加强统治,所以定名为《资治通鉴》。《资治通鉴》全书294卷,约三百多万字,另有《考异》、《目录》各三十卷。
nnwjvqn6asuhkigvojbtcadu4gopcwy