An approach to determine whether language is regular or not? I have the following problem. I need to determine whether this language is regular or not:

$L:= \{ w \in \Sigma^*: \forall \alpha ∈ \Sigma, |w|_\alpha \text{ is even or divisible by 3}\}$

$|w|_\alpha$ => $|w|$ is the length of the word $w$ and $|w|_\alpha$ is the number of $\alpha$ characters in that word.

For example: $w$ = 100111 => $|w|$=6, $|w|_0$ = 2, $|w|_1$ = 4. 

I know that I need to use deterministic/non-deterministic finite automata, regular expression/grammar to prove that it is regular or to use pumping lemma to prove that it is not.

But I'm not sure how to approach this problem to start proving something. Is this trial and error method or is there some way to know from the start?

I appreciate your help!
I'm not aware of any completely "algorithmic" method to decide whether a language is regular.

For the specific language you are interested in, you can start by observing that it can be written as combination of unions and intersections of a finite number of regular languages:
$$
\bigcap_{\alpha \in \Sigma} \left( L_{2,\alpha} \cup L_{3,\alpha} \right),
$$
where:


$L_{2,\alpha}$ is the language containing all words $w$ such that $|w|_\alpha$ is divisible by 2.
$L_{3,\alpha}$ is the language containing all words $w$ such that $|w|_\alpha$ is divisible by 3.


It is easy to show that all these languages are regular (since, in each language, $\alpha$ is now fixed). A DFA for $L_{2,\alpha}$ has two states $q_0, q_1$ where $q_i$ means that the number of characters equal to $\alpha$ encountered so far is $i$ modulo 2. A DFS for $L_{3,\alpha}$ is similar but has $3$ states.

The regularity of $L$ follows from the fact that regular languages are closed under union and intersection.