> "1fff=*; style=mobile".match("[\s]*")
[ '', index: 0, input: '1fff=*; style=mobile' ]
> "1fff=*; style=mobile".match("[^;]*")
[ '1fff=*', index: 0, input: '1fff=*; style=mobile' ]
> "1fff=*; style=mobile".match('(^|;)[\s]*style=([^;]*)')
null
> "1fff=*; style=mobile".match(/(^|;)[\s]*style=([^;]*)/)
[ '; style=mobile',
';',
'mobile',
index: 6,
input: '1fff=*; style=mobile' ]
str.match(str)
可以部分用作正则表达式模式,但存在一些差异。
究竟有什么区别?
答案 0 :(得分:1)
不同之处在于,在字符串文字中,\s
仅表示s
- 字符串文字没有\s
转义序列,因此\
被放弃了。
如果要使用字符串文字,并且需要正则表达式包含\s
,则字符串文字需要包含\\s
(带有额外的反斜杠),因此字符串将包含{{ 1}}:
\s
(我建议坚持使用正则表达式文字。)