Javascript .match(";)和.match(/^$/)之间有什么区别?
我在检查某个元素中的空HTML内容时遇到了一个问题。当我使用Javascript .match(";)和.match(/^$/)之间有什么区别?,javascript,jquery,regex,Javascript,Jquery,Regex,我在检查某个元素中的空HTML内容时遇到了一个问题。当我使用 someElement.trim().match("") 即使HTML内容是空的,我有时也会因此而变得真实。我把它改成了 someElement.trim().match(/^$/) 现在它似乎总是返回正确的布尔值 两者之间的区别是什么?match(“”)与match(new RegExp(“”))和new RegExp(“”)返回与空字符串匹配的/(?:)/,因为如果子字符串匹配则返回true,则该字符串不被锚定。而/^$/被锚
someElement.trim().match("")
即使HTML内容是空的,我有时也会因此而变得真实。我把它改成了
someElement.trim().match(/^$/)
现在它似乎总是返回正确的布尔值
两者之间的区别是什么?match(“”)
与match(new RegExp(“”))
和new RegExp(“”)
返回与空字符串匹配的/(?:)/
,因为如果子字符串匹配则返回true,则该字符串不被锚定。而/^$/
被锚定^
匹配输入的开头,而$
匹配输入的结尾
其他例子:
# true
'hello'.match('h')
'hello'.match('e')
# false
'hello'.match('^e$')
请单击
并创建一个示例输入和预期输出“
与任何内容都不匹配<代码>/^$/
匹配已应用.html()的空行someElement->someElement.html().trim().match()“
表示无效。任何事物中都不存在任何东西<代码>^$表示输入字符串的开头和结尾相遇。确保中间没有字符。