di Ruby e JavaScript espressioni regolari sono analizzato ed eseguito da diversi motori con diverse capacità. Per questo motivo, le espressioni regolari di Ruby e JavaScript hanno differenze piccole e sottili che sono leggermente incompatibili. Se sei consapevole che non traducono direttamente, puoi comunque rappresentare semplici espressioni regolari di Ruby in JavaScript.
Ecco what client side validations does:
class Regexp
def to_javascript
Regexp.new(inspect.sub('\\A','^').sub('\\Z','$').sub('\\z','$').sub(/^\//,'').sub(/\/[a-z]*$/,'').gsub(/\(\?#.+\)/, '').gsub(/\(\?-\w+:/,'('), self.options).inspect
end
end
La recente addition of the routes inspector to rails prende a similar approach, forse anche meglio in quanto evita scimmia patching:
def json_regexp(regexp)
str = regexp.inspect.
sub('\\A' , '^').
sub('\\Z' , '$').
sub('\\z' , '$').
sub(/^\// , '').
sub(/\/[a-z]*$/ , '').
gsub(/\(\?#.+\)/ , '').
gsub(/\(\?-\w+:/ , '(').
gsub(/\s/ , '')
Regexp.new(str).source
end
Poi per inserire questi nel codice javascript, usare qualcosa come:
var regexp = #{/^([^@\s]+)@((?:[-a-z0-9]+\.)+[a-z]{2,})$/i.to_javascript};
Risultati di ricerca pertinenti per questa domanda [può essere trovato qui] (https://www.google.com/#hl=en&safe=active&sclient=psy-ab&q= (convert% 7Ctranslate) + ruby + regex + a + javascript e oq = (convertire% 7Ctranslate) + rubino + regex + per + javascript & gs_l = serp.3 ... 6611.13840.0.14133.12.12.0.0.0.0.123.1024.9j3.12.0.les% 3B..0.0 ... 1c.1.4. psy-ab.OIu4b055si4 & PBX = 1 & bav = on.2, or.r_gc.r_pw.r_cp.r_qf. & fp = 50b26647ad5972f8 & biw = 1366 & bih = 639). –