首页
学习
活动
专区
圈层
工具
发布

JavaScript正则表达式详细总结

另外本文针对所有示例都给了输出结果,希望读者思考为什么返回这样的结果,和自己期望的有什么不一样,建议自己也动手输入一下,加深记忆。 ?...[] 内除 ^ 以外的所有字符: 'adobe'.match(/[^abc]/g); // ["d", "o", "e"] 注: $ 与 ^ 的前两个用法相似,只不过匹配的是以某某字符结尾的字符串...对象相关方法 方法名 使用场景 返回值 示例 test 判断是否匹配 true/false /\d/.test('2016s') exec 返回匹配的结果,与match类似 数组或null /\d/.exec...('2016s') 2)String对象相关方法 方法名 使用场景 返回值 示例 match 返回匹配的结果,非全局条件下与exec返回结果一致,并拥有指向匹配字符串的信息,全局条件下一次性返回所有匹配的结果.../g); // ["12.3", "32.3", "2", "-40"] 二、jQuery中的正则片段 1、表达式 在jQuery 3.1.2-pre中找到一个解析单标签的正则,如下:

1.5K21

总是搜不到想要的内容?Elasticsearch搜索排名优化了解一下

一般一个文档拥有多个可以被筛选的属性,例如 id、时间、标签、分类等。为了搜索的质量我们应该认真地对文档进行打标签和分类处理,因为一旦选择了过滤,即使用户的搜索关键词再匹配文档也不会被返回了。...使用 match_phrase 提高搜索短语的权重 在这个阶段,搜索的时候经常会出现搜索结果和搜索关键词不是连续匹配的情况。...例如搜索关键词为:“2020年微信用户研究报告”,而返回的结果大多数是匹配“微信”、“用户”、“研究”、“报告”这些零散的关键词,而用户想要匹配整个短语的结果却在后面。...如果单独使用它来进行搜索,会发现搜索出来的结果相比 match 会大大减少,这是因为匹配若干个词的文档和匹配顺序不对的文档都没被返回。...,应该比其他文档好; 文档质量比较高的,更希望让用户看到,那些缺失标签与摘要的文档并不希望用户总是看到; 运营人员有时候想让用户搜到正在推广的文档; …… 我们可以通过增加更多的影响报告评分的因素来实现以上场景

2.2K4538
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    01-老马jQuery教程-jQuery入口函数及选择器

    console.dir($btn); // jQuery包装对象(所有的选择器选择返回的对象都是jQuery的包装对象。...描述 ID选择器 $("#id"); 获取指定ID的元素 全选选择器 $('*'); 匹配所有元素 类选择器 $(".class"); 获取同一类class的元素 标签选择器 $("div"); 获取同一类标签的所有元素...:contains(text) $("div:contains('John')") 匹配包含给定文本的元素 :not(selector) $("input:not(:checked)") 去除所有与给定选择器匹配的元素...eq(index) $("li").eq(2); 相当于$("li:eq(2)"),index从0开始 not(exp) $("p").not("#selected") 删除与指定表达式匹配的元素 4...$('.pl20'); 搜索具有colspan属性的th标签 $('th[colspan]'); 搜索id=md的标签 $('#md'); 搜索.finance-form下面的所有的td标签 $(

    3K00

    总是搜不到想要的内容?Elasticsearch搜索排名优化了解一下

    一般一个文档拥有多个可以被筛选的属性,例如 id、时间、标签、分类等。为了搜索的质量我们应该认真地对文档进行打标签和分类处理,因为一旦选择了过滤,即使用户的搜索关键词再匹配文档也不会被返回了。...使用 match_phrase 提高搜索短语的权重 在这个阶段,搜索的时候经常会出现搜索结果和搜索关键词不是连续匹配的情况。...例如搜索关键词为:“2020年微信用户研究报告”,而返回的结果大多数是匹配“微信”、“用户”、“研究”、“报告”这些零散的关键词,而用户想要匹配整个短语的结果却在后面。...如果单独使用它来进行搜索,会发现搜索出来的结果相比 match 会大大减少,这是因为匹配若干个词的文档和匹配顺序不对的文档都没被返回。...,应该比其他文档好; 文档质量比较高的,更希望让用户看到,那些缺失标签与摘要的文档并不希望用户总是看到; 运营人员有时候想让用户搜到正在推广的文档; …… 我们可以通过增加更多的影响报告评分的因素来实现以上场景

    2.7K30

    触类旁通Elasticsearch:搜索

    null,缺省在ES返回的_source中根本就不会出现该字段名称,这点与SQL是不同的。...1. match (1)match_all 匹配所有文档,类似于SQL中的无where条件查询。...注意,term搜索的词条是没有经过分析的,文档中的词条必须要精确匹配才能作为结果返回。 (1)term查询 curl '172.16.1.127:9200/get-together/_search?...minimum_should_match表示最小的should子句匹配数,满足这个数量的文档才能作为结果返回。minimum_should_match的默认值有一些隐藏的特性。...使用multi_match查询,它和match查询的表现类似,不过是在多个字段上搜索 希望通过一次搜索返回所有的文档 使用match_all查询,在一次搜索中返回全部文档 希望在字段中搜索一定取值范围内的值

    3.7K30

    干货 | 知识库全文检索的最佳实践

    1、题记 这是stackoverflow上一篇精彩的问答。 原文不大好理解,我做了梳理+图解; 原文是ES早期版本,部分写法已不适用,所有DSL我在6.X上进行了重写和验证; 针对原文内容做了扩展。...核心需求点: 1、一旦所有文档都采用通用格式,我们希望通过网页界面提供其内容并提供搜索服务。...2、我们希望通过搜索,能够灵活地只返回整个文档的部分页面(我相信的Lucene / elasticsearch使这成为可能?!?) 3、如果所有文档是XML是否会更加灵活?...存储单个页面可能足以满足您的“我在哪里”的目的,但是您希望将它们分组,以便在搜索结果中返回文档,即使搜索关键字出现在不同的页面上。...你如何做到这一点取决于你想如何展示你的结果 按页面page分组, 按文档doc分组。 通过页面的结果很容易。 此查询返回匹配页面的列表(每个页面全部返回)以及页面中高亮显示的片段列表。

    2.5K10

    快速初步了解Neo4j与使用

    匹配模式 匹配模式是MATCH语句的任务。我们传递了迄今为止用过的相同类型的模式MATCH来描述我们正在寻找的东西。它类似于查询示例,只是我们的示例还包括结构。...一个MATCH声明将搜索我们指定,并返回模式每个成功的模式匹配一行。 为了找到我们到目前为止创建的数据,我们可以开始查找标有Movie标签的所有节点。...MATCH (m:Movie) RETURN m 这是结果: 这应该显示矩阵和阿甘正传。 我们也可以找一个特定的人,比如基努·里维斯。...MATCH (p:Person { name:"Keanu Reeves" }) RETURN p 此查询返回匹配节点: 请注意,我们仅提供足够的信息来查找节点,而不是所有属性都是必需的。...它的作用类似于MATCH or 的组合CREATE,它在创建数据之前首先检查数据是否存在。随着MERGE你定义图案被发现或创建的。通常,与MATCH您一样,您只想在核心模式中包含要查找的键属性。

    2.1K10

    ES-DSL查询

    DSL查询 DSL查询分类 查询所有:查询出所有数据(match_all) 全文检索:利用分词器对用户输入内容分词,然后去倒排索引库中匹配 match_query multi_match_query 精确查询...相关性算分 当我们利用match查询文档时文档结果会根据于搜索词条的关联度打分,返回结果时按照分值进行排列 使用function score query,可以修改文档的相关性算分,根据新的到的算分排序...must:必须匹配每个子查询,类似“与”, should:选择性匹配子查询,类似“或”, must_not:必须不匹配,类似“非”不参与算分 fiter:必须不匹配,不参与算分 需求:搜索名字包含如家...分页 es中默认只返回top10的数据,而如果要查询更多数据就需要修改分页参数了 es中通过修改from、size参数来控制返回的分页结果 #分页 GET /hotel/_search { "query...,原理是从上一次的排序值开始,查询下一页数据(官方推荐方式) scroll:原理将排序数据形成快照,保存在内存(不推荐使用) 搜索结果高亮 es支持给搜索出来的关键字加标签,前端在给相应标签写样式就实现了搜索功能高亮

    1.1K20

    ElasticSearch权威指南:深入搜索(上)

    用不了多长时间,就会发现我们想要的更多:希望查询匹配更灵活,排名结果更精确,不同问题域下搜索更具体。 想要进阶,只知道如何使用 match 查询是不够的,我们需要理解数据以及如何能够搜索到它们。...只希望对文档进行包括或排除的计算,所以我们会使用 constant_score 查询以非评分模式来执行 term 查询并以一作为统一评分。...must_not:所有的语句都 不能(must not) 匹配,与 NOT 等价。 should:至少有一个语句要匹配,与 OR 等价。 就这么简单!..."term" : {"price" : 30} } } } } } } 我们搜索的结果返回了 2 个命中结果,两个文档分别匹配了...如果有文档包含所有三个条件,它会比只包含两个的文档更相关。 5.如何使用布尔匹配 目前为止,可能已经意识到多词 match 查询只是简单地将生成的 term 查询包裹 在一个 bool 查询中。

    5.2K31

    不只是离线缓存! - 论如何善用ServiceWorker

    、修改【请求修改结果】;甚至可以将请求指向完全另一台服务器,返回不是此服务器应该返回的内容【移花接木】;当然,SW也可以直接返回已经存储在本地的文件,甚至离线的时候也能返回【离线访问可达性】。...Promise.any 这个函数非常的有用,其作用和race接近,不过与之不同的是,any会同时检测结果是否resolve。...其并行处理后,只要有任何一个返回正确,就直接返回哪个最快的请求结果,返回错误的直接忽视,除非所有的请求都失败了,才会返回reject 这是一段同时请求jquery的package.json代码,它将从四个镜像同时请求...让我们看一下Network选项卡: [4.png] 其中,知乎返回的最快,但他并没有完整的返回文件源文件1.8KB,但他只返回了1.4KB。这也直接导致了整个函数的fail。...caches.match(req)将会试图在CacheStorage中匹配请求的url获取值,然后丢给管道同步函数then,传参resp为Cache匹配到的值。

    4.3K21

    【CSS进阶】原生JS getComputedStyle等方法解析

    我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。 言归正传,本文讲的是原生 JS 获取、设置元素最终样式的方法。...而 element.style 只能获取被这些样式表定义了的样式,而 getComputedStyle 能获取到所有样式的值(在不同浏览器结果不一样,chrome 中是 264,在 Firefox 中是...原生JS实现CSS样式的get与set 说了这么多,接下来将用原生 JS 实现一个小组件,实现 CSS 的 get 与 set,兼容所有浏览器。...而标准浏览器会直接返回它的 px 值,当然我们希望在 IE 下也返回 px 值。 这里的 HACK 方法是使用 element.getBoundingClientRect() 方法。...最后,本文组件示例的代码贴在 我的github 上。 我在 github 上关于 jQuery 源码的全文注解,感兴趣的可以围观一下。jQuery v1.10.2 源码注解 。

    1.8K50

    前端之jQuery

    jQuery简化了AJAX操作,后端只需返回一个JSON格式的字符串就能完成与前端的通信。 跨浏览器兼容。jQuery基本兼容了现在主流的浏览器,不用再为浏览器的兼容问题而伤透脑筋。 插件扩展开发。...匹配所有大于给定索引值的元素 :lt(index)// 匹配所有小于给定索引值的元素 :not(元素选择器)// 移除所有满足not条件的标签 :has(元素选择器)// 选取所有包含一个或多个标签在其内的标签...,不识别孙子 $("#id").siblings();// 兄弟们,同级别上下都查 查找 搜索所有与指定表达式匹配的元素。...3.6.4阻止后续事件执行 使用场景:当一个标签绑定了多个事件而我们只希望指定的事件被触发时使用。...$("div").data("k",100);//给所有div标签都保存一个名为k,值为100 .data(key): 描述: 返回匹配的元素集合中的第一个元素的给定名称的数据存储的值—通过 .data

    6.1K21

    Python 正则表达式详解(建议收藏!)

    (ab) 将括号中字符作为一个分组 search findall re.s sub split 贪婪与非贪婪 案例 匹配手机号 提取网页源码中所有的文字 提取图片地址 ---- 正则表达式是对字符串提取的一套规则...#返回test,获取不到则报错 print(a.span()) #返回匹配结果的位置,左闭右开区间 print(re.match('test','atestasdtest')) #...如果需要返回内容则需要调用group()。通过调用span()可以获得匹配结果的位置。而如果从起始位置开始没有匹配成功,即便其他部分包含需要匹配的内容,re.match()也会返回None。...如果不使用re.S参数,则只在每一行内进行匹配,如果一行没有,就换下一行重新开始。...贪婪与非贪婪 python里的数量词默认是贪婪的,总是尝试尽可能的匹配更多的字符。

    2.4K20

    Python 基础(二十二):正则表达式

    正则表达式并不是 Python 所特有的,几乎所有编程语言都支持正则表达式,Python 提供了内置模块 re 和第三方模块 regex 来支持正则表达式,regex 模块提供了与 re 模块兼容的 API...默认情况,匹配除了换行的任意字符;如果指定了标签 DOTALL,则匹配包括换行符的任意字符 2.2 re 模块 2.2.1 模块内容 re 模块几乎包含了正则表达式的所有功能,我们先来看一下该模块的主要方法...pattern 的匹配列表,string 从左到右进行扫描,匹配按找到的顺序返回,如果样式里存在一到多个组,就返回一个组合列表,空匹配也会包含在结果里。..., count=0, flags=0) 行为与 re.sub() 相同,但返回的是一个元组。...(default=None) 返回一个元组,包含所有匹配的子组,在样式中出现的从 1 到任意多的组合,default 参数用于不参与匹配的情况,默认为 None。

    57120

    通过数据驱动的查询优化提高搜索相关性

    前段时间热播的《天才基本法》中,男女主,用贝叶斯网络来寻找事故发生的可能性最大的地点。在我们的进行搜索优化时,我们也可以用类似的方法来找到能使返回结果最相关的搜索参数的组合。...简而言之,一个已标记的相关数据集是一组查询结果,这些结果都被贴上了相关性等级的标签。...这些标签是任意的,你可以选择不同的尺度,但上面的四个标签是很常见的。获得这些标签的一个方法是来自于人类的评判。一群人可以查看你的搜索查询记录,并为每个结果提供一个标签。...这对于问答数据集是有意义的,因为 MRR 只关心结果集中第一个正确答案的排名。它用排名的倒数(1 / rank) 进行计算,并在所有查询中平均它们。...(即已标记的文档,在返回结果中是第一个结果则分数为 1 ,是第二个匹配则分数为 0.5,第 n 个匹配则分数为 1/n,如果没有匹配的句子分数为0。

    3.3K291

    javascript 正则表达式(二)

    如果它找到匹配,则 exec 方法返回一个数组, 并且更新全局 RegExp 对象的属性,以反映匹配结果。...如果找到匹配返回一个数组并且更新全局 RegExp 对象的属性以反映匹配结果。...备注:match和exec一个很明显的差别是设置了全文搜索参数g后它返回的数组不再是一个元素,而是所有的元素, 第一个匹配结果数组基数为0,第二个为1,以此类推....注意:返回的只是与正则表达式查找内容匹配的第一个子字符串的位置.所以用全局搜索参数就没有意义了. 5.replace()方法: 用法: string对象.replace(regexp对象|字符串...,"替换的字符串") 返回值:如果设置了全文搜索,则全部满足的都将被替换;否则只替换第一个.返回替换后的字符串.

    20500

    ElasticSearch权威指南:基础入门(中)

    这不像其他的搜索引擎,仅仅返回文档的ID,需要你单独去获取文档。 每个结果还有一个 _score ,它衡量了文档与查询的匹配程度。...为什么在 _all 字段查询日期返回所有推文,而在 date 字段只查询年份却没有返回结果?为什么我们在 _all 字段和 date 字段的查询结果有差别?...我们问的不只是“这个文档匹配查询吗”,而是“该文档匹配查询的程度有多大?”换句话说,该文档与给定查询的相关性如何? 我们很少对全文类型的域做精确匹配。相反,我们希望在文本类型的域中搜索。...match_all 查询简单的匹配所有文档。在没有指定查询方式时,它是默认的查询。 { "match_all": {}} 它经常与 filter 结合使用--例如,检索收件箱里的所有邮件。...:因为我们使用的是 filter (过滤),这表明我们只希望获取匹配 user_id: 1 的文档,并没有试图确定这些文档的相关性。

    7.2K41
    领券