Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/386.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用正则表达式和javascript将字符串中的模式替换为强标记?_Javascript_Regex - Fatal编程技术网

如何使用正则表达式和javascript将字符串中的模式替换为强标记?

如何使用正则表达式和javascript将字符串中的模式替换为强标记?,javascript,regex,Javascript,Regex,我想将中的文本替换为标记 我想做什么? 考虑到我有一个字符串,我是和其他名称 因此,我想将子字符串替换为fname lname 类似于子字符串到 <strong>fname1 lname1</strong> fname1 lname1 所以字符串的最终输出 i am <some-tag some-id="3" text="fname lname"/> and other name <some-tag some-id="4" text="fnam

我想将
中的文本替换为
标记

我想做什么? 考虑到我有一个字符串,我是
和其他名称

因此,我想将子字符串
替换为
fname lname

类似于子字符串

<strong>fname1 lname1</strong>
fname1 lname1
所以字符串的最终输出

 i am <some-tag some-id="3" text="fname lname"/> and other name <some-tag 
 some-id="4" text="fname1 lname1"/>
我是和其他名字
应该是

i am <strong>fname lname</strong> and other name <strong>fname1 
lname1</strong>
我是fname lname和其他名字fname 1
lname1
我试过什么

let str1 = str.replace(/(<some-tag\b[^>]*>)[^<>]*(<\/>)/g," 
<strong>$1</strong>");
让str1=str.replace(/(]*>)[^]*()/g,”
$1”;
但似乎不起作用。有人能帮我个忙吗谢谢。

也许是这样

  const attributeHTML = new RegExp('<([\\w-]+).*?>(.*)<\\/\\1>', 'g');
  while ((matches = attributeHTML.exec(content))) {
    console.log(RegExp.$1);
  }
constattributehtml=newregexp('(.''g');
while((matches=attributeHTML.exec(content))){
console.log(RegExp.$1);
}

匹配
,因此您甚至没有尝试匹配自动关闭标记。此外,您正在使用两个捕获组,第一个组位于
some tag
元素节点附近,因此这将与
$1
一起插入,这显然不是您需要的。请考虑使用XML/HTML DOM解析器来实现您所需要的。EH@ WKTROSTRIPBY EW,您真的说他可以使用正则表达式在HTML标记中找到一些东西吗?哎哟。首先选择“按标记”,然后用简单的替换来替换其内容。\r@KarelG。我只说了OP对正则表达式的一些问题。一旦人们看到正则表达式HTML解析可能会有多少问题,他们就会更快地理解DOM解析器的有用性。看一看,我认为它仍然可以单独使用正则表达式来完成,因为我想匹配这样的模式,从text=获取值,并用“从文本获取的值”替换整个内容如果您试图改进它,但未经测试就发布,则会发生这种情况,抱歉。它被编辑为未改进的(对我来说很有用):这个功能是非标准的,不在标准轨道上。不要在面向Web的生产站点上使用它:它不会适用于所有用户。实现之间也可能存在很大的不兼容性,并且行为可能会在将来发生变化。