let's say, yes, but not easy... Maybe with a regular expression (but [now you got two problems](https://softwareengineering.stackexchange.com/questions/223634/what-is-meant-by-now-you-have-two-problems))... The following isn't perfect (and I doubt you can make it perfect, regular expressions are evil):
```
\documentclass[border=3.14mm,preview]{standalone}
\usepackage{tabularray}
\usepackage{ninecolors}
\usepackage{caption}
\usepackage{float}
\usepackage{tikz}
\usetikzlibrary{calc}
\UseTblrLibrary{amsmath,
booktabs,
counter,
diagbox,
siunitx,
varwidth}
\ExplSyntaxOn
\tl_new:N \l__usermmcccxcviii_tablebody_tl
\tl_new:N \l__usermmcccxcviii_replaced_tl
\NewDocumentCommand \setuptablebody { m }
{ \tl_set:Nn \l__usermmcccxcviii_tablebody_tl {#1} }
\NewDocumentCommand \usetable { s O{} m }
{
\group_begin:
\IfBooleanTF {#1}
{
\__usermmcccxcviii_regex_magic:n {#2}
\keyval_parse:NNn
\__usermmcccxcviii_err:n
\__usermmcccxcviii_replace_p:nn
{#2}
}
{
\keyval_parse:NNn
\__usermmcccxcviii_err:n
\__usermmcccxcviii_replace:nn
{#2}
}
\use:e
{
\exp_not:n { \begin{tblr}{#3} }
\exp_not:o { \l__usermmcccxcviii_tablebody_tl }
}
\end{tblr}
\group_end:
}
\cs_new_protected:Npn \__usermmcccxcviii_regex_magic:n #1
{
\tl_if_empty:nF {#1}
{
% keyval_parse:NNn needs one full expansion, then another for the
% \use_none:n and \use_ii:nn to be expanded
\exp_args:NNe \exp_args:Ne \__usermmcccxcviii_regex_magic_aux:n
{ \keyval_parse:NNn \use_none:n \use_i:nn {#1} }
}
}
\cs_new_protected:Npn \__usermmcccxcviii_regex_magic_aux:n #1
{
\regex_replace_all:nnN
{ ([#1]|\(?(?:[#1]\s*[\+\-\*\/]\s*)+[#1]\)?)\s*(\*?x|\c{\\}) }
{ \c{__usermmcccxcviii_eval:w} \1 \c{__usermmcccxcviii_eval_end:} \2 }
\l__usermmcccxcviii_tablebody_tl
}
\cs_new:Npn \__usermmcccxcviii_eval:w #1 \__usermmcccxcviii_eval_end:
{ \fp_eval:n {#1} }
\cs_new_protected:Npn \__usermmcccxcviii_err:n
{ \msg_error:nnn { usermmcccxcviii } { missing-replacement } }
\msg_new:nnn { usermmcccxcviii } { missing-replacement }
{ Missing~ replacement~ rule~ for~ input~ #1 }
\cs_new_protected:Npn \__usermmcccxcviii_replace:nn #1#2
{ \tl_replace_all:Nnn \l__usermmcccxcviii_tablebody_tl {#1} {#2} }
\cs_new_protected:Npn \__usermmcccxcviii_replace_p:nn #1#2
{ \tl_replace_all:Nnn \l__usermmcccxcviii_tablebody_tl {#1} { (#2) } }
\ExplSyntaxOff
\begin{document}
\setuptablebody
{%
\SetCell[r=2]{fg=orange}\times
& & & & & a*x^2 & + & b*x & + & c \\
& & & & & m*x^2 & + & n*x & + & p \\ \hline
\SetCell[r=3]{fg=orange}+
& & & & + & p*a*x^2 & + & p*b*x & + & p*c \\
& & + & n*a*x^3 & + & n*b*x^2 & + & n*c*x & & \\
& m*a*x^4 & + & m*b*x^3 & + & m*c*x^2 & & & & \\
& m*a*x^4 & + & (n*a+m*b)x^3 & + & (p*a+n*b+m*c)x^2 & + & (p*b+n*c)x & + & p*c \\
}
\usetable
{
cells={mode=dmath,halign=r},
hline{Y} = {solid},
colsep = .3mm
}
\usetable
[ a = 1, b=1, c=-1, m=2, n=-7, p=9, ]
{
cells={mode=dmath,halign=r},
hline{Y} = {solid},
colsep = .3mm
}
\usetable*
[ a = 1, b=1, c=-1, m=2, n=-7, p=9, ]
{
cells={mode=dmath,halign=r},
hline{Y} = {solid},
colsep = .3mm
}
\end{document}
```