Tag: 模式匹配

使用match()在单独的句子中分割长文本的正则表达式

这是一个textarea,用户在其中写入一些文本。 我在里面写了一个例子。 First sentence. Second sentence? Third sentence! Fourth sentence. Fifth sentence 正则表达式中已经考虑过的要求 separator包含在数组项中 最后一句不一定需要分隔符(它可以以任何字符结尾) 如果一个句子有多个分隔符char,它将包含在数组项中。 例: 第二句?!? 应该是[…,“第二句?!?”,……] 缺少要求(我需要帮助)<< 每个新行应该由一个空数组项表示。 如果应用正则表达式,则应该是响应: [“First sentence.”, “Second sentence?”, “Third sentence!”, “”, “Fourth sentence.”, “”, “”, “Fifth sentence”] 相反,我收到了这个: [“First sentence.”, “Second sentence?”, “Third sentence!”, “Fourth sentence.”, “Fifth sentence”] 这是正则表达式和匹配调用: var tregex = /[^\r\n.!?]+(:?(:?\r\n|[\r\n]|[.!?])+|$)/gi; var sentences = $(‘#text’).val().match(tregex).map($.trim); […]

模式匹配字符串时,Javascript / jQuery更快替代$ .inArray

我在Javascript(~100,000)中有大量的单词,我希望能够根据文本模式快速返回它们的子集。 例如,我想返回所有以模式开头的单词,因此输入hap应该给我[“happy”, “happiness”, “happening”, etc, etc] ,结果。 如果有可能我想在不迭代整个数组的情况下这样做。 这样的事情不够快: // data contains an array of beginnings of words eg ‘hap’ $.each(data, function(key, possibleWord) { found = $.inArray(possibleWord, words); // do something if found } 关于如何在不迭代整个单词集的情况下快速将集合减少到可能的匹配的任何想法? 如果有帮助,单词数组按字母顺序排列。

使用正则表达式(regex)替换jQuery / JavaScript中的选定文本

在下面的示例中,使用jQuery选择文本。 我们如何通过摆脱其他数据来隔离货币? 这种使用JavaScript replace尝试不起作用: var symbol = $(“div.price > h5 > div.num”).text().replace(/[\d.]*/, “”); 这是HTML的示例; jQuery选择器正在工作: €12.28 Lowest Price Per Night