基本上,我不了解如何构建正则表达式,目前 PHP正则表达式为
/^[\w\s'-\/\.\,\(\)\\\]{0,100}$/
但是现在我想将此正则表达式转换为与Javascript兼容的正则表达式。
如何使上述正则表达式在Javascript中兼容?
答案 0 :(得分:1)
您的正则表达式中有太多转义字符,否则,它应该可以工作。
因此,尽管这是一个奇怪的正则表达式,总是可以匹配零到100个字符,但这是一个应该起作用的修改版本:
/^[\w\s'-\/\.,\(\)\\]{0,100}$/
答案 1 :(得分:1)
反斜杠字符用于转义元字符。在集合中(在方括号之间),您不需要转义大多数元字符。
这也可以做到:
^[\w\s'-/.,()\\]{0,100}$
在PHP中,您可以使用三个或四个反斜杠转义一个反斜杠:
\\\
-转义反斜杠(PHP)
\\\\
-还转义了反斜杠(PHP)
但是请不要混搭,因为它容易造成混乱和混乱。
使用JavaScript,您必须用一个正好两个反斜杠表示一个文字反斜杠。
\\
-转义一个反斜杠(JS)
这是进一步的资源:https://javascript.info/regexp-character-sets-and-ranges#no-escaping-in-
如果您有几个小时要花,我会通过Sam的Teach Yourself了解有关正则表达式的大部分知识。该材料侧重于PCRE,但对于JS也有98%的有用性。您会更快乐;正则表达式很难。