首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >JavaScript RegEx忽略字符串

JavaScript RegEx忽略字符串
EN

Stack Overflow用户
提问于 2015-03-15 12:12:49
回答 2查看 1.1K关注 0票数 1

我有从服务器返回的搜索结果和使用搜索查询中的单词突出显示结果的regex。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
words = searchQuery.split(' ');

$.each(words, function() { 

  var word = this.trim();
  var regex = new RegExp('(' + word + ')(?!>|b>)', 'gi');

  searchResult = searchResult.replace(regex, "<b>$1</b>");

});

这很好,直到我搜索到这样的东西:

搜索术语:“脚本与javascript”

搜索结果:“java是一种编程语言.”

它应该突出显示整个单词,比如"javascript是一种编程语言.“。但是,由于字符串已从"javascript“更改为"java<b>script</b>",因此它不再匹配搜索查询中的第二个单词。当word的值为"b“、"/”、"<“或">”时,它也会产生奇怪的值。

我的问题是如何忽略regex中的<b></b>标记,而只匹配原始的搜索查询?我试着用放映机,但没成功。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-03-15 14:21:08

我认为按字符串长度对数组进行降序排序可以解决这个问题:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
words = searchQuery.split(' ');

words.sort(function(a, b){
  return b.length - a.length;
});

$.each(words, function() { 

  var word = this.trim();
  var regex = new RegExp('(' + word + ')(?!>|b>)', 'gi');

  searchResult = searchResult.replace(regex, "<b>$1</b>");

});
票数 1
EN

Stack Overflow用户

发布于 2015-03-15 20:58:30

不能通过regex忽略字符串中的任何内容。试着用"\b“搜索整个单词

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
var searchQuery = 'script with lang javascript';
var searchResult = 'javascript is a programming language';
words = searchQuery.split(' ');

$.each(words, function() { 

  var word = this.trim();
    var regex = new RegExp('\\b(' + word + ')\\b(?!>|b>)', 'gi');

  searchResult = searchResult.replace(regex, "<b>$1</b>");

});
console.log(searchResult);
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29065656

复制
相关文章
比较字符串(忽略空格,忽略大小写)
总时间限制: 1000ms内存限制: 65536kB描述 判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。 输入两行,每行包含一个字符串。输出若两个字符串相等,输出YES,否则输出NO。样例输入 a A bb BB ccc CCC Aa BBbb CCCccc 样例输出 YES 源码如下: #include <iostream> using namespace std; bool compareTwoStringIgnoreCases(string a,string b); in
用户1631856
2018/04/12
3.2K0
mongodb 字符串查找匹配中$regex的用法
官网地址:https://docs.mongodb.com/manual/reference/operator/query/regex/#regex-case-insensitive
庞小明
2018/12/10
6.1K0
python regex replace
正则匹配-直接内容替换 s = 'dsoheoifsdfscoopaldshfowefcoopasdfjkl;' ss = s.replace('coop','###') print(s,'\n',ss) dsoheoifsdfscoopaldshfowefcoopasdfjkl; dsoheoifsdfs###aldshfowef###asdfjkl; import re regex = re.compile(r'coop') # 正则匹配替换 regex.sub('$$$$$','sdlaf
py3study
2020/01/08
2.4K0
删除字符串中的子串(C++ regex求解)
输入2个字符串S1和S2,要求删除字符串S1中出现的所有子串S2,即结果字符串中不能包含S2。
喜欢ctrl的cxk
2019/11/07
3.4K0
开发你不能忽略的问题?JavaScript(JS)
一、JavaScript基础加强 JavaScript是在浏览器内容运行,无需编译、解释执行动态脚本语言,是一种弱类型语言,所有变量使用var定义。 JavaScript的3个组成部分分别为:核心(
Java帮帮
2018/03/19
1.2K0
开发你不能忽略的问题?JavaScript(JS)
JavaScript中容易忽略的知识点
null是对象类型,typeof null === "object",含义为“没有任何对象引用”。注意,这点和undefined 不同,undefined值变量没有初始化赋值。
娜姐
2021/01/14
7380
ToStringBuilder如何忽略null和空字符串
日常开发中,经常用org.apache.commons.lang3.builder.ToStringBuilder工具类来记录日志,比如:
菩提树下的杨过
2022/05/09
1.1K0
[Dream Big, Think Big, Achieve Big!] Regex Matching Problems 2
包子IT面试培训 助你拿到理想的offer! 有问题,问包子!Got question? Ask Baozi! 接着上一轮关于regex的博客讨论,下面我们讨论一下另一道比较常见的regular e
包子面试培训
2018/04/20
8690
boost::string or boost::regex
当中用蓝色标记出的部分(layout, local_size_x, local_size_y, local_size_z, in)为keyword,斜体字部分(a, b, c)为数据类型为unsigned int的数字,请编写一个函数,用于从文件里抽取出a, b, c的值。当中文件名称为输入參数,该函数的返回值是抽取得到的a,b,c三个值。
全栈程序员站长
2022/07/08
2.1K0
JavaScript 字符串
toString() 方法,返回一个表示该对象的字符串,可以将所有的数据都转换为字符串,但是要排除掉 null 和 undefined
Nian糕
2018/08/21
7200
JavaScript 字符串
JavaScript 字符串
如果要在单引号字符串的内部,使用单引号,就必须在内部的单引号前面加上反斜杠,用来转义。双引号字符串内部使用双引号,也是如此。
RiemannHypothesis
2022/10/06
5740
JavaScript 字符串
字符串的索引从 0 开始,这意味着第一个字符索引值为 [0],第二个为 [1], 以此类推。
陈不成i
2021/07/16
7020
javascript字符串
字符串是JavaScript中7种数据中的一种,用于表示由零个或多个16位的Unicode字符组成的字符序列。创建字符串有两种方式,一种是字面量,另一种是构造函数。
踏浪
2019/07/31
5000
Javascript字符串
## 定义 ``` var str = new String("abcdefg"); var str = "abcdefg"; ``` ## 常用方法 ### 字符方法 1.charAt(index):返回下标为index的字符 ``` //字符串“Hello World!”下标为1的字符 var str = "Hello World!"; console.log(str.charAt(1)); // e ``` 2.方括号[index]:返回下标为index的字符(IE8以前不支持,会返回undefin
用户1624346
2018/04/10
6220
C: GNU regex library (regex.h)正则表达式调用示例
GNU regex是GNU提供的跨平台的POSIX 正则表达式库(C语言)。 我也是最近才接触这个相对于C++/Java实现来说非常简陋,勉强够用的正则表达式库。 不算GNU提供的扩展函数,POSIX标准的regex库总共就4个函数regcomp,regerror,regexec,regfree, 以下以完整源码的方式调用以上函数完成对GNU regex library的基本测试。
10km
2021/11/15
1.1K0
JavaScript字符串
JavaScript 字符串是引号(单引号或双引号)中的零个或多个字符,用于存储和操作文本。
hotarugali
2022/03/01
6740
JavaScript字符串
JavaScript 字符串(String)就是由零个或多个 Unicode 字符组成的字符序列。零个字符表示空字符串。
用户3519280
2023/07/07
1760
忽略大小写比较字符串大小
一般我们用 strcmpstrcmp 可比较两个字符串的大小,比较方法为对两个字符串从前往后逐个字符相比较(按 ASCII 码值大小比较),直到出现不同的字符或遇到 \0 为止。
莫浅子
2022/11/18
1.2K0
gcc报错:terminate called after throwing an instance of ‘std::regex_error‘ what(): regex
mkdir build …/./configure make & make install
花狗Fdog
2022/05/09
2.2K0
JavaScript:你可以赞扬批评嘲讽它,但却无法忽略
兼容表 :http://kangax.github.io/compat-table/es6
前朝楚水
2018/04/04
5520
JavaScript:你可以赞扬批评嘲讽它,但却无法忽略

相似问题

Javascript - Regex替换忽略某些特殊字符

30

javascript/regex忽略双引号中的分号

25

忽略Javascript regex中的换行符

12

使用javascript拆分时忽略regex捕获组

24

REGEX:拆分javascript字符串-忽略嵌套字符串和对象中的逗号

21
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文