PHP正则表达式反斜杠破折号

Ala*_*din 3 php regex

我是PHP新手,正在尝试容纳php正则表达式

来自w3schools这个正则表达式

"/([\w\-]+\@[\w\-]+\.[\w\-]+)/"
Run Code Online (Sandbox Code Playgroud)

代表电子邮件的正则表达式,但我想知道此类定义的含义"[\w\-]",除了\w单词以外的任何字符?"\-"

(已编辑)

hwn*_*wnd 5

但是呢\-?

连字符通常是正则表达式中的普通字符。

  • 在角色类别之外;它没有特殊含义(不需要转义连字符)。
  • 在字符类内部,它具有特殊的含义。

您可以将连字符作为类的第一个或最后一个字符而不必进行转义。

  • ([-\w],[\w-])

在某些正则表达式实现中,您也可以直接将其放置在范围之后而不进行转义。

只需将连字符作为类的最后一个字符转义就可以了。

[\w\-]  # any character of: word characters (a-z, A-Z, 0-9, _), 
        # match a literal hyphen `\-'
Run Code Online (Sandbox Code Playgroud)