[英]Remove forward slash but not date format in a string REGEX
我有以下格式的字符串
Pending status started at 11/03/2019 11:32
User: XY_Z
moj/f112
Reason: Linked to Major/P1 Ticket
在上述情况下,我想删除moj/f112
和Major/P1
中的正斜杠(/),但不删除日期11/03/2019
。
我尝试了\\D\\/\\D/ig
但是它将选择所有的正斜杠并进行了一些试验,例如^(\\d{2}\\/\\d{2}\\/\\d{4})(and ?)\\D\\/\\D/ig
。 我不习惯使用正则表达式,并且运行时间很短。
有什么帮助吗?
非常感谢。 :)
您可以使用此交替正则表达式先匹配并分组要保留的内容,然后匹配/
作为交替中的最后一个选项:
var str = `Pending status started at 11/03/2019 11:32 User: XY_Z moj/f112 Reason: Linked to Major/P1 Ticket` var re = /(\\b(?:\\d{1,2}\\/){2}\\d{4}\\b)|\\// var repl = str.replace(re, '$1') console.log(repl)
此正则表达式将匹配{斜杠+两位数字+斜杠}和其余的斜杠,然后我们可以替换其余的斜杠。
const str = `Pending status started at 11/03/2019 11:32
User: XY_Z
moj/f112
Reason: Linked to Major/P1 Ticket`;
const regex = /(\/\d{2}\/)|\//g;
let modifiedStr = str.replace(regex, '$1');
console.log(modifiedStr)
这是另一种选择。
var str = `Pending status started at 11/03/2019 11:32 User: XY_Z moj/f112 Reason: Linked to Major/P1 Ticket`; var newString = str.replace(/[^\\d{1,2}\\/\\d{1,2}\\/\\d{4}]\\//gm, ''); console.log(newString);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.