Javascript 用逗号匹配字符串
我想匹配带或不带逗号和空格的字符串:Javascript 用逗号匹配字符串,javascript,regex,string,match,Javascript,Regex,String,Match,我想匹配带或不带逗号和空格的字符串: <div> "hello world" <br> "hello,world" <br> "hello world," <br> ",hello world" <br> ",hello,world," <br> ", hello , world ," </div> “你好,世界” “你好,世界” “你好,世界” “你好,世界” “你好,世界” “你好,世界” 因
<div>
"hello world"
<br>
"hello,world"
<br>
"hello world,"
<br>
",hello world"
<br>
",hello,world,"
<br>
", hello , world ,"
</div>
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
因此,如果我搜索“world”,我想找到它,无论有没有逗号和空格,并突出显示结果
var search = "world";
//or
var search = "world,";
//or
var search = ",world";
//or
var search = ",world,";
div.replace(new RegExp('(' + search + ')', 'gi'), '<span class="highlighted">$1</span>')
var search=“world”;
//或
var search=“世界”;
//或
var search=“,world”;
//或
var search=“,world;”;
div.replace(新的RegExp(“(“+search+”)”、“gi”)、“$1”)
像这样:
<div>
"hello <span class="highlighted">world</span>"
<br>
"hello<span class="highlighted">,world</span>"
<br>
"hello <span class="highlighted">world,</span>"
<br>
",hello <span class="highlighted">world</span>"
<br>
",hello<span class="highlighted">,world,</span>"
<br>
", hello <span class="highlighted">, world ,</span>"
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
下面是我想要的示例:
多亏了特姆凯勒赫,我才解决了这个问题
为您的正则表达式尝试以下操作:
var re = /([,|\s]+)?world([,|\s]+)?/g;
只需在
搜索
变量中的逗号后添加一个?
可选符号:
var search = ",?world,?";
而且,如果您真的想匹配空格(到hilight?!),只需添加\s*
,这意味着从零到多个空格:
div.replace(new RegExp('(\\s*' + search + '\\s*)', 'gi'), ...
希望能有帮助
/([\s,]\s*world\s*,?)/i
[\s,]
让我们用空格或逗号来确保单词之间有分隔。然后使用\s*
在逗号/空格和单词world
之间允许有零到多个空格。然后,我们在,?
之前再添加一些\s*
,这意味着一个逗号或没有逗号。然后我们用一个不区分大小写的,i
正则表达式捕获它
这应该可以处理更换
.突出显示{
背景色:rgb(100100255);
颜色:白色;
}
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
“你好,世界”
var content=document.getElementById(“0”).innerHTML.split(“
”),
结果=[];
对于(内容中的var i){
//首先提取我们想要的。
var world=/([\s,]\s*world\s*,?)/.exec(content[i])[1],
//将所有内容拆分以使插入更容易。
hello=content[i].split(世界);
//将结果放回原处。
结果推送(hello.join(“”+world+“”));
}
document.getElementById(“1”).innerHTML=result.join(“
”);
我收到了裁员部门关于裁员的消息。你想让我把它读出来吗?;-)(提示:/[,\s]*world[,\s]*/
应该足够了)@deamentiaemundi我从部门得到了更多消息(提示:[,\s]
=[,\s]
):D@bobblebubble是的,空间是多余的,RDofR并不是无缘无故得到它的名字的!;-)也可以试试这个regex(?:,\s*)?world(?:\s*,)?
。谢谢这对一个世界有用。如果我搜索“hello world”怎么匹配“hello,world”和“hello,world”,最后一个带有RegExp(“(\s*”+search+'\s*),“gi”)的示例(“(\s*”),“/code>)由于反斜杠的原因将不会有帮助。谢谢,我已经更新了OK谢谢,但如果我想匹配“hello word”并使用第一个“^”和最后一个$regex,还有一件事要做吗?^.*
从开始抓取所有我们想要的东西开始<代码>*$
从开始到结束抓取一切<代码>^.*([\s,]\s*world\s*,?).$不确定这是否是您的意思?我的意思是,我还想在搜索“hello world”时找到与“hello,world”或“hellow,world”或“hellow,world”或“hellow world”或“hellow world”匹配的内容使用第一个和最后一个带空格或不带空格的^$表达式。下面是一个更通用的我认为你的意思:^.*(\w+\s*[\s,]\s*\w+\s*,?).$
将从一开始抓取到第一个识别的模式非贪婪(不会抓取hello
)。\w+
表示至少一个单词字符(对于[a-zA-Z0-9\
的JavaScript)。要查看您的“hello world”-^.*(hello\s*[\s,]\s*world\s*,?).$
。这就是你想要的吗?看这个例子,我改进了文本高亮显示,当我输入“hello world”时,可以突出显示阿拉伯语、英语和法语的发音。我想匹配带有符号或标点符号的文本,比如“hello,world”