我遇到问题,我在某个元素中检查空HTML内容。我用的时候
someElement.trim().match("")
即使HTML内容为空,我有时也会得到结果。我把它改成了
someElement.trim().match(/^$/)
现在似乎总是返回正确的布尔值。
两者有什么区别?
答案 0 :(得分:2)
match('')
与match(new RegExp(''))
相同,而new RegExp('')
返回/(?:)/
,其匹配空字符串,因为如果匹配的子字符串返回true
,则不会锚定。而/^$/
已锚定^
与开头匹配,$
与输入结束相匹配。
其他例子:
# true
'hello'.match('h')
'hello'.match('e')
# false
'hello'.match('^e$')