javascript中的正则表达式问题
为什么这场比赛javascript中的正则表达式问题,javascript,regex,Javascript,Regex,为什么这场比赛 "foo = '@test.bar';\nfooa = @test.darn;".match(/@([a-z][a-z\.-_]*)/igm) 而不仅仅是 ["@test.bar", "@test.darn;"] 在英语中,有些字母有特殊的含义。例如,点没有,不需要转义。相比之下,减号定义了一系列字符,如果你的意思是字面上的减号,你需要将其转义或放在字符类的末尾/开头。您的范围从到.实际上包括/0123456789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\
"foo = '@test.bar';\nfooa = @test.darn;".match(/@([a-z][a-z\.-_]*)/igm)
而不仅仅是
["@test.bar", "@test.darn;"]
在英语中,有些字母有特殊的含义。例如,点没有,不需要转义。相比之下,减号定义了一系列字符,如果你的意思是字面上的减号,你需要将其转义或放在字符类的末尾/开头。您的范围从
到.
实际上包括/0123456789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^
。您可能需要使用[a-z.\-\u]
或[a-z.\-]
。在中,有些字母有特殊的含义。例如,点没有,不需要转义。相比之下,减号定义了一系列字符,如果你的意思是字面上的减号,你需要将其转义或放在字符类的末尾/开头。您的范围从
到.
实际上包括/0123456789:@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^
。你可能想用[a-z.\-\\
或[a-z.\-]
代替。我想从
到
的范围包括
但不是,
你是想包含“-”字符还是真的想指定一个范围?@elclanrs\w
也包含\d
有趣的是,\
实际上也包含在这个范围内,所以OP问题中的\
是双重冗余的。@inhan:噢,是的,你说得对……我想OP want也是-
,所以它不是一个范围。我想从
到.
的范围包括
但不是,
你是想包含“-”字符还是真的想指定一个范围?@elclanrs\w
也包含\d
有趣的是,\
实际上也包含在这个范围内,所以OP问题中的\
是双重冗余的。@inhan:噢,是的,你说得对……我想OP want也是-
,所以它不是一个范围。哦。我一直认为点必须转义,而负号没有转义,这很好。@Nico:通常情况下,在[]
之外具有特殊意义的字符都不需要在内部转义。需要对-
进行转义,因为它在[]
@elclanrs中具有特殊意义。不正确。您还需要转义结束方括号-当然更不用说反斜杠和插入符号了。@elclanrs^
也必须在字符类中转义。@inhan&@JanDvorak:是的^
在[]
中有特殊的含义,因此必须对其进行转义,]
我认为这一点似乎很明显……哦。我一直认为点必须转义,而负号没有转义,这很好。@Nico:通常情况下,在[]
之外具有特殊意义的字符都不需要在内部转义。需要对-
进行转义,因为它在[]
@elclanrs中具有特殊意义。不正确。您还需要转义结束方括号-当然更不用说反斜杠和插入符号了。@elclanrs^
也必须在字符类中转义。@inhan&@JanDvorak:是的^
在[]
中有特殊的含义,因此必须对其进行转义,]
我认为这一点很明显。。。
["@test.bar", "@test.darn"]