【发布时间】:2018-02-06 10:32:35
【问题描述】:
我在搜索并尝试了几个测试后被卡住了,但就是不知道如何解决以下问题。
我在正则表达式中使用这些字符 \x3c、\x3e 和 \x22,并保存在 *.component.ts 的变量中,但是当我在标记/HTML 中使用变量时,它会将其转换为 < 、> 和 "。结果是我的 Pattern 没有按预期工作。
这是对regex101.com 的测试之一,正如您所见,它可以正常工作:
^(?=.*[a-zA-Z\d!\x22#$%&\'()*+,.:;\x3c=\x3e?@[\]^_`{|}~/\\-])[A-Za-z\d!\x22#$%&\'()*+,.:;\x3c=\x3e?@[\]^_`{|}~/\\-]{8,50}$
如何防止这种情况发生并在呈现页面时使字符保持原样?它是 TypeScript 或 JavaScript 浏览器引擎的行为还是什么?任何提示都会很棒。
【问题讨论】:
-
尝试将反斜杠加倍。
-
添加到 @WiktorStribiżew ,以 /pattern+/g 结尾?
-
我尝试将其用作:
/\x3c,输出为:\/\x3c却错了。我只需要:\x3c也在这里阅读了doc。 -
@k.vincent 使用代码更新您的问题,包括您在做什么、模式是什么以及您想要什么。在 js 中,您需要对模式进行双重转义,并以我上面显示的 +/g 结束它。
-
@之后,请使用用户名通知我或其他人您的反馈。请与正则表达式共享 regex101 的链接。我相信您现在只需在^之后添加(?=[^A-Z]*[A-Z])。
标签: javascript regex angular typescript