我有这样的代码ng-init="validationRegex = '@RegularExpression.expression'"
,其中RegularExpression.expression
是c#string variable = "(\w+\/|\w+\\)+(\w+)\.\w+"
。我想使用ng-init
将变量值传递给角度控制器。但最后我得到(w+/|w+\)+(w+).w+
。我怎样才能获得正确的价值?
答案 0 :(得分:0)
我认为您的C#代码实际上是:@"(\w+\/|\w+\\)+(\w+)\.\w+"
。 @
避免需要邪恶逃脱。
在这种情况下,您可能需要使用邪恶的转义逃生。请注意,如果您将其直接放在字符串中,则无需转义/
(如果您按照我的想法使用它)。您还可以使用大括号来最小化转义。所以你可以拿这个正则表达式:
(\w+/|\w+\\)+(\w+)[.]\w+
并将其传递给regex planet以获取此信息:
"(\\w+/|\\w+\\\\)+(\\w+)[.]\\w+"
我不推荐手动转换,因为你已经有了反斜杠。
答案 1 :(得分:0)
使用以下方法双重转义字符串:
@RegularExpression.expression.Replace(@"\", @"\\")
当它在JavaScript方面出现时,它将再次被单独转义。