There are pattern languages [1].
A pattern is a string over a terminal alphabet $\Sigma$ and an (infinite) variable alphabet $V = \{x_i \mid i \in \mathbb{N} \}$. Let $p = \alpha_1 x_{i_1} \alpha_2 \dots x_{i_k} \alpha_{k_1}$ be a pattern with $\alpha_i \in \Sigma^*$ for $i \in [1..k+1]$ and $x_j \in V^*$ for $j \in \{i_1, \dots, i_k\}$; its language is defined as
$\qquad\displaystyle L(p) = \{ \alpha_1 \beta_{i_1} \alpha_2 \dots \beta_{i_k} \alpha_{k+1} \mid \beta_{i_1}, \dots, \beta_{i_k} \in \Sigma^* \}$.
Note that the $i_j$ need not be pairwise distinct in general -- that is $L(x_1x_1) = \{ww \mid w \in \Sigma^*\}$ -- but one can make that restriction.
This is stronger than what you need; you want to restrict the language of possible replacements to individual symbols, and you want the variables to be independent (i.e. the $i_j$ to be pairwise distinct). It is easy to adapt the definition:
A bit-pattern is a string over a terminal alphabet $\Sigma$ and a wildcard $\star$. Let $p = \alpha_1 \star \alpha_2 \dots \star \alpha_{k_1}$ be a pattern with $\alpha_i \in \Sigma^*$ for $i \in [1..k+1]$; its language is defined as
$\qquad\displaystyle L(p) = \{ \alpha_1 x_1 \alpha_2 \dots x_k \alpha_{k+1} \mid x_1, \dots, x_k \in \Sigma \}$.
This is so straight-forward and the concept of wildcards is so wide-spread that, actually, I don't think you even need a reference; just define whatever you need. If you do find a reference it does not hurt to cite it, of course.
- Polynomial time inference of extended regular pattern languages by T. Shinohara (1982)
?1?01
. $\endgroup$ – Hendrik Jan May 21 '16 at 9:48