In your pattern, you either want a comma or an end of line combo. The best thing here would be a non-capturing group with an alternation. A character class might work if you never had to account for CRLF combinations, but that's not always a good assumption.
Here's an example. I'm using Clojure to drive the Java API, you should be able to get the gist if you take a minute to look at it, even if you're not familiar w/Clojure. The bits after the semi-colons are comments.
; define a function that will return a scanner on user input
; with a given pattern
user=> (defn scanner [input delimiter]
(-> (java.util.Scanner. input) (.useDelimiter delimiter)))
#'user/scanner
; define the input
user=> (def input "Thomson,Alfred,NY,00192838,USA\nVincent,Ramblè,PA,0033928283,FRANCE")
#'user/input
; create the scanner
; (:?) is a non capturing group
; the | in the middle tells the group to look for a or b
; first alternative is a comma
; second alternative is a newline followed by 0 or 1
; carriage returns.
; The javadoc for the java.util.Pattern class really helps
user=> (def myscanner (scanner input "(:?,|\n\r?)"))
#'user/myscanner
; quick/dirty way to call next on the scanner 10 times and print
; the result of each call
user=> (dotimes [n 10] (println (.next myscanner)))
Thomson
Alfred
NY
00192838
USA
Vincent
Ramblè
PA
0033928283
FRANCE
If you really want to do CSV however, this problem has been solved many many times. There are lots of libraries out there that will handle some of the whacky parts of CSV. e.g. http://commons.apache.org/proper/commons-csv (this is just and example of one - you should evaluate it before using).
Good luck!