Recognizing Repetition in strings Create a program which gets an input from the user and tells the user what repetitions exist in the it. A few examples of inputs the user could give and outputs they should get:


  Input: 112211221122
  
  Output: 1122 * 3


Or:


  Input: 123123
  
  Output: 123 * 2


Or:


  Input: 1234
  
  Output: No repetitions found!


Tiebreaker: if your code can recognize more than one repetition:


  Input: 123123456456
  
  Output: 123 * 2, 456 * 2 


Then you win if you are tied for 1st place with someone's code who doesn't recognize more than one repetition.

If your code requires a limit on the repetition length, it should be able to recognize repetitions at least 4 characters long. This is a code-golf question, so the shortest code wins (but please explain the code in your answer)
Perl, 74 (73 + 1) bytes


Assumes -n flag (+1 byte).
say is a feature of version 5.10 and needs to be enabled.
This can be done by flag -M5.010 or easier with -E instead of -e.
Therefore I follow the other Perl answer in the calculation method of the costs.
It also reports repetitions as long as they do not overlap.


s/(.+)(?{$i=1})(\1(?{$i++}))+/say"$1 * $i"/ge||say"No repetitions found!"


Usage and tests

echo 112211221122 | perl -nE 's/(.+)(?{$i=1})(\1(?{$i++}))+/say"$1 * $i"/ge||say"No repetitions found!"'
1122 * 3


echo 123123 | perl -nE 's/(.+)(?{$i=1})(\1(?{$i++}))+/say"$1 * $i"/ge||say"No repetitions found!"'
123 * 2


echo 1234 | perl -nE 's/(.+)(?{$i=1})(\1(?{$i++}))+/say"$1 * $i"/ge||say"No repetitions found!"'
No repetitions found!


echo 123123456456 | perl -nE 's/(.+)(?{$i=1})(\1(?{$i++}))+/say"$1 * $i"/ge||say"No repetitions found!"'
123 * 2
456 * 2


Ungolfed with comments

s/
    (.+)              # catches the repeat unit
    (?{ $i=1 })       # initialize counter $1 with 1
    (
        \1            # next repetition
        (?{ $i++ })   # increase counter
    )+                # repeat unit must appear at least twice
/
    say "$1 * $i"     # print result as a side effect of the replacement;
                      # "say" adds a new line at the end
/gex                  # g: global, find all repetitions (without overlap)
                      # e: replacement text is executed as code
                      # x: only ungolfed: readability and comments
    ||                # s/// returns the number of replacements,
                      # this is zero, if no repetitions could be found
    say "No repetitions found!"