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”