打字稿:如何在2行中编写长正则表达式

时间:2016-02-24 10:58:41

标签: regex typescript

我使用tslint,当我在typescript中写长regexp

Dim ViewUser = MapperConfiguration.Map(Of UserViewModel)(User)

我收到错误 - 超过最大行长度140。

有人知道如何用2行写它。我可以用黑客做到这一点。但我对这个解决方案并不满意。

var re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;

1 个答案:

答案 0 :(得分:3)

为什么不使用字符串?

var r1 = "^(([^<>()\[\]\\.,;:\s@\"]+(\.[^<>()\[\]\\.,;:\s@\"]+)*)|(\".+\"))";
var r2 = "@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$";
var re = new RegExp(r1 + r2);

RegExp(string)更容易修改和/或动态生成正则表达式