我实际上是使用正则表达式匹配和其他东西来解决问题(搜索问题)。我想我会看看Google,Yahoo,Bing,Ask等的行为方式。
考虑到Firefox,Chrome,Opera和其他浏览器也有网址栏或搜索栏,我开始尝试不同的单词,然后是符号。
在Firefox中,我看到了很多不同的结果。以下是一些截图 -
^符号 - 提供一些随机结果。
$符号 - 也会提供随机结果。我也试过用这个添加一个字符串,它没有给出任何结果。
()括号 - 使用时会给出正确的结果。它被认为是比较字符串的符号。
*符号 - 这也提供了一组结果,不符合符号本身。不确定为什么会有这些不同的结果。
〜符号 - 这也提供了一组结果,不符合符号本身。不确定为什么会有这些不同的结果。
我很想知道为什么许多符号的行为存在这种差异,而其他字符串和/或符号按预期工作。
-
@thanksd真的不是duplicate。这是关于字符串匹配如何工作。我已经知道那部分了。我清楚地问起符号。符号如何考虑匹配。
答案 0 :(得分:1)
没有主流浏览器会将您在其位置栏中键入的内容解释为正则表达式,因为普通用户不知道正则表达式。
这就是Firefox的工作原理(基本上):
选择要搜索的内容。通过查看browser.urlbar.default.behavior偏好设置以及查找special characters in the query来完成此操作:
您可以使用可自定义的字符限制下拉列表中显示的结果类型。在地址栏中的任意位置包含由空格分隔的字符,以限制显示的结果。
字符如下:
#
:返回与标题中的文字匹配的结果。@
:返回与网址中的文字相匹配的结果。*
:仅返回书签中的结果。^
:仅返回来自浏览器历史记录的结果。+
:仅返回已标记的结果。~
:仅返回已键入的结果。%
:仅返回Firefox 4(SeaMonkey 2.1)及更高版本中提供的打开标签(可见标签,非活动标签)
在搜索某些内容时,每个以空格分隔的字符序列(上面的特殊字符除外)必须在其文本(网站标题,网址等)中出现,不区分大小写。 (序列可能会重叠。)