javascript - 从 PHP 到 Javascript 的正则表达式转换问题
问题描述
基本上,我不知道如何构建正则表达式,目前我正在使用 PHP 正则表达式
/^[\w\s'-\/\.\,\(\)\\\]{0,100}$/
但现在我想将此正则表达式转换为 Javascript 兼容的正则表达式。
如何使上述正则表达式在 Javascript 中兼容?
解决方案
反斜杠字符用于转义元字符。在集合中(方括号之间),您不需要转义大多数元字符。
这也可以:
^[\w\s'-/.,()\\]{0,100}$
在 PHP 中,您可以使用三个或四个反斜杠来转义一个反斜杠:
\\\
- 转义反斜杠 (PHP)
\\\\
- 还转义反斜杠 (PHP)
但请不要混搭,因为它会令人困惑并且容易发生意外。
使用 JavaScript,您必须用正好两个反斜杠来表示文字反斜杠。
\\
- 转义反斜杠 (JS)
这是进一步的资源:https ://javascript.info/regexp-character-sets-and-ranges#no-escaping-in-
如果你有几个小时可以花时间,我在 Sam 的自学中学到了我所知道的关于正则表达式的大部分内容。该材料专注于 PCRE,但对 JS 也有 98% 的用处。你会更快乐;正则表达式很难。
推荐阅读
- r - 合并 R - VLOOKUP 等价物?
- angular - 在量角器测试期间,离开页面然后返回中断 waitForAngularEnabled()
- laravel-lighthouse - 如何创建具有 3 个或更多嵌套关系的突变?
- python - Tensorflow - 多标签分类损失缓慢下降/根本没有变化
- javascript - JS:将 xml 数据转换为点数组表示法
- javascript - 如何简化全屏元素的javascript代码?
- php - 我如何使用“选定”属性
- reporting-services - SSRS 表达式 - 显示字段中的值取决于另一个字段
- python - 根据同一数据框中另一列中的值替换数据框列中的值
- c++ - 多面迭代器的良好设计模式?