re = /^ver(ä|a)ntwortlich(er)?\.?\s+g(em((ä|a)(ß|s{1,2})?)?)?\.?\s+a(rt(ikel)?)?\.?/mi
str = 'Verantwortlicher gemäß Art
Verantwortlicher gemäß. Art.
Verantwortlicher gemäss Art
Verantwortlicher gemäs art
Verantwortlicher gemaß Art
Verantwortlicher gemä Art
Verantwortlicher. gem A.
Verantwortlicher gem Art
Verantwortlicher g. A.
Verantwortlicher g Artikel.
Verantwortlicher g Art
Verantwortlicher gemass Artikel
Verantwortlicher g Artikel
Verantwortlicher gemass Artikel
Verantwortlich. gemass Artikel
Verantwortlich gemass Artikel
^
verantwortlicher
\\s+
g(em((ä|a)(ß|s+)?)?)?\\.?
\\s+
a(rt(ikel)?)?\\.?
'
# Print the match result
str.scan(re) do |match|
puts match.to_s
end
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Ruby, please visit: http://ruby-doc.org/core-2.2.0/Regexp.html