文章851
标签121
分类10

Warning: preg_match(): Compilation failed: PCRE does not support \L, \l, \N{name}, \U, or \u at offset

匹配中文字符正则表达式抛错

[\u4e00-\u9fa5]{2,4}

如上 [u4e00-u9fa5]可以匹配中文,但是PHP又不支持

可以使用[\x80-\xff]{2,4} 支持匹配全角字符.

知道了php中utf-8编码下用正则表达式匹配汉字的最终正确表达式—— /^[\x{4e00}-\x{9fa5}]+$/u

[.\n]*失效, 正则表达式匹配任意字符

手册正则表达式中,“.”(点符号)匹配的是除了换行符“n”以外的所有字符。同时,手册上还有一句话:要匹配包括 'n' 在内的任何字符,请使用像 '[.\n]' 的模式。于是我将正则表达式的匹配规则修改如下:

([.\n]*),当然,如果是在java程序中直接写到话,需要改为([.\n]*)
结果再次运行程序,发现什么内容也取不到了。我百思不得其解,又将其修改为如下规则:
([.|\n]*) 以及 ([\n.]*)
结果还是不行,什么内容都取不到。看来点符号和换行符卯上劲了~
然后上网一查,虽然没有查出上述规则到底是什么地方出问题了,但是查出了一个解决办法,经过一试,果然可以匹配包括换行符在内的任意字符,以下为正确的正则表达式匹配规则:
([\s\S]*)
同时,也可以用 “([\d\D]*)”、“([\w\W]*)” 来表示。

在文本文件里, 这个表达式可以匹配所有的英文

/[ -~]/

这个表达式可以匹配所有的非英文(比如中文)

/[^ -~]/

Mysql 查看大表,查看个表占用大小

在MySQL中查看大表和表的大小

在处理大型数据库时,了解表的大小和性能是非常重要的。本文将介绍如何在MySQL中查看大表,并展示如何查看表的大小。我们还将提供一些有用的查询和技巧,以帮助您管理和优化数据库。

1. 查看大表

要查看MySQL中的大表,可以使用以下查询:

SELECT 
    table_schema AS `Database`, 
    table_name AS `Table`, 
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size (MB)` 
FROM 
    information_schema.TABLES 
WHERE 
    table_schema = 'your_database_name' 
ORDER BY 
    (data_length + index_length) DESC;

请将 'your_database_name' 替换为您要查看的数据库名称。该查询将返回指定数据库中所有表的大小(以MB为单位),按照大小降序排列。您可以根据需要更改查询条件,例如根据特定的表空间大小阈值来筛选结果。

2. 查看表的大小

要查看单个表的大小,可以使用以下查询:

SELECT 
    table_name AS `Table`, 
    ROUND(((data_length + index_length) / 1024 / 1024), 2) AS `Size (MB)` 
FROM 
    information_schema.TABLES 
WHERE 
    table_schema = 'your_database_name' 
    AND table_name = 'your_table_name';

请将 'your_database_name' 替换为数据库名称,将 'your_table_name' 替换为要查看的表名。该查询将返回指定表的大小(以MB为单位)。

3. 参考文献

以下是一些相关的参考文献,供进一步学习和了解:

  1. "MySQL Documentation," MySQL, [Online]. Available: https://dev.mysql.com/doc/.
  2. "Information Schema Tables," MySQL, [Online]. Available: https://dev.mysql.com/doc/refman/8.0/en/tables-table.html.

结论

通过查看大表和表的大小,您可以更好地了解数据库的结构和性能。本文介绍了如何在MySQL中查看大表和表的大小,并提供了相关的参考文献,帮助读者深入学习和优化数据库。

">