Javascript 如何替换单词开头和结尾的字符?

Javascript 如何替换单词开头和结尾的字符?,javascript,regex,Javascript,Regex,例如: var string = This is a *piece* of text. 我可以做到: string.replace(/\*/g, <em>) string.replace(/\*/g,) 然而,我会得到这个:片段。我想得到的是:件 如何修改此代码以检测单词开头和结尾的*字符?您可以使用如下捕获组: var string='这是一段*文本。' var r=string.replace(/\*([^\*]+)\*/,(m,m1)=> `${m1}`) console

例如:

var string = This is a *piece* of text.
我可以做到:

string.replace(/\*/g, <em>)
string.replace(/\*/g,)
然而,我会得到这个:
片段
。我想得到的是:


如何修改此代码以检测单词开头和结尾的
*
字符?

您可以使用如下捕获组:
var string='这是一段*文本。'
var r=string.replace(/\*([^\*]+)\*/,(m,m1)=>
`${m1}`)

console.log(r)
您可以使用replace替换为第一个捕获组,在该组中,您将使用否定字符类
([^*]+)
捕获非*字符,并使用
g
全局标志替换所有字符

\*([^*]+)\*

会匹配的

  • \*
    匹配*
  • ([^*]+)
    在不匹配*的组中捕获一次或多次,否则您可能会得到
  • \*
    匹配*
var string='这是一段*文本和一段*';
string=string.replace(/\*([^*]+)\*/g,“$1”);

console.log(字符串)我猜你是想自己把字符串转换成降价。这是一种对轮子的重新发明,也是一种在干燥时的糟糕做法。我想你可以使用如下库:@MerianosNikos我想做的定制太多了。例如,添加
.no indent
.scene break
类,以及转换--and^^。所以我觉得自己写的更快。
**text**
转换成
文本了吗?
\u text
是否转换为
text
?实际上只需要一个捕获组