如何在javascript中使用正则表达式加粗文本
我有一个文本变量如何在javascript中使用正则表达式加粗文本,javascript,regex,Javascript,Regex,我有一个文本变量 let data=“text text 04.02.2018 18:02:82 text text” 我有这样的捕获日期正则表达式:04.02.2018 18:02:82 我怎样才能“大胆”匹配 data = data.replace(/\d{1,2}.\d{1,2}.\d{4} \d{1,2}:\d{1,2}:\d{1,2}:/g, '<b>$1</b>') data=data.replace(/\d{1,2}.\d{1,2}.\d{4}\d{1,2
let data=“text text 04.02.2018 18:02:82 text text”
我有这样的捕获日期正则表达式:04.02.2018 18:02:82
我怎样才能“大胆”匹配
data = data.replace(/\d{1,2}.\d{1,2}.\d{4} \d{1,2}:\d{1,2}:\d{1,2}:/g, '<b>$1</b>')
data=data.replace(/\d{1,2}.\d{1,2}.\d{4}\d{1,2}:\d{1,2}:\d{1,2}:/g,$1'))
不工作,因为返回text$1 text text
怎么了
感谢您的帮助。使用以下方法:
let data=“text text 04.02.2018 18:02:82 text”;
data=data.replace(/(\d{1,2}.){2}\d{4}(\d{1,2}:){2}\d{1,2}/g,'$&');
控制台日志(数据)代码>let data=“text text 04.02.2018 18:02:82 text”;
data=data.replace(/(\d{1,2}.\d{1,2}.\d{4}\d{1,2}:\d{1,2}:\d{1,2})/g,$1');
您必须对模式进行分组,以便将结果引用为$1您的正则表达式有问题
最后,您有一个冒号字符
data = data.replace(/\d{1,2}.\d{1,2}.\d{4} \d{1,2}:\d{1,2}:\d{1,2}:/g, '<b>$1</b>')
^
要匹配点,您需要使用以下命令:\。
看看这个代码片段
另一种方法是将回调函数传递给replace
函数
let data=“text text 04.02.2018 18:02:82 text”;
data=data.replace(/\d{1,2}\.\d{1,2}\.\d{4}\s\d{1,2}:\d{1,2}:\d{1,2}/g,函数(匹配){
返回`${match}`;
});
console.log(数据)
您是否尝试过$&
?@Patrickkx Nope。现在它工作了。.replace(/(\d{1,2}.\d{1,2}.\d{4}\d{1,2}:\d{1,2}:\d{1,2})/g,'$1')
data = data.replace(/\d{1,2}.\d{1,2}.\d{4} \d{1,2}:\d{1,2}:\d{1,2}:/g, '<b>$1</b>')
^
data = data.replace(/\d{1,2}.\d{1,2}.\d{4} \d{1,2}:\d{1,2}:\d{1,2}:/g, '<b>$1</b>')
^