\documentclass[UTF8,a4paper]{article}
\usepackage{ctex}
\usepackage{xcolor}
\usepackage{tabularray}
\usepackage{siunitx}
\begin{document}
\centering
\begin{tblr}{|*3{c|}}\hline
\begin{tblr}{ccc}
  1      & 测试   & 2 \\
  3      & 2测试  & 字 \\
  测试3  & 测试   & 4 \\ 
   \end{tblr}  & \begin{tblr}{cccc}
           测试1   & 5     & 2测试   & 8 \\
            6      & 测试  & 100     & 测试2 \\
            1测试  & 80    & 666     & 4测试 \\ 
           0.09   & 888    & 0.08  & 231 \\
        \end{tblr}  & \begin{tblr}{cccc}
                       测试1   & 5     & 2测试   & 8 \\
                       6      & 测试  & 100     & 测试2 \\
                       1测试  & 80    & 666     & 4测试 \\ 
                       0.09  & 567    & 0.08    & 2测试 \\
                     \end{tblr}                  \\ \hline
\end{tblr}
\end{document}感谢 @u73286 Eureka老师提供的思路:
-?(?:\d+\.\d*|\.\d+|\d+)tblr里面有一个cmd键, 可以把这个判断写在cmd里面
PS1.该问题不需要多个嵌套表格,所以mwe代码理论上不应该用三合一的表格
PS2.在tabularray中上面例子的\usepackage{siunitx}是无法生效的,请看文档第五章
PS3.在article文档类选项中的UTF8是不用显式写出的,已经是默认值
\documentclass{article}
\usepackage{libertinus} % for better looking of number
\usepackage{xcolor}
\usepackage{tabularray}
\ExplSyntaxOn
\newcommand*{\mycolorednum}[2][red]{%
    \regex_if_match:nnTF{\A -?(?:\d+\.\d*|\.\d+|\d+) \Z} { #2 }
    {
        \textcolor{ #1 }{ #2 }
    }
    {
        #2
    }
}
\ExplSyntaxOff
\begin{document}
\begin{tblr}{
    colspec = *{4}{c},
    hlines,vlines,
    cells = {cmd = \mycolorednum[magenta]},
    }
    1     & test   & 2 & -1.33\\
    3     & 2test  & text & 21.2 \\
    test-3  & test   & 4 & 2.33\\ 
    test1   & 5     & 2test   & 8 \\
    -6      & test  & 100     & test2 \\
    -1test  & -80    & 66.6     & 4test \\ 
    0.09   & -888    & -0.08  & 231 \\
    test1   & -5    & 2test   & -8 \\
    6      & test  & 100     & test2 \\
    -.1tt  & 80    & 666     & 4test \\ 
    0.09  & -.567   & .08    & 2test \\
\end{tblr}
\end{document}
@u1680 请注意这是「回答区」,不是「评论区」...
@u70550 我点回复的时候不清楚怎么变成了回答了。
@u1680 ...不要看到输入框就输入...

@u70550 下次我再回复的时候注意一下。