javascript - 正则表达式:如何删除匹配字符串之前的字符?

标签 javascript regex string

我正在拦截包含以下字符的消息:

*_-

但是,无论何时出现这些字符中的任何一个,它前面总会有一个\\ 只是用于格式化,我想在将它发送到我的服务器之前将其删除。我知道如何轻松创建一个正则表达式,从单个字母中删除这个反斜杠:

'omg\_bbq\_everywhere'.replace(/\\_/g, '')

而且我知道我可以只执行此操作 3 次:对于每个我想删除其前面的反斜杠的字符一次。但是我如何创建一个正则表达式来检测所有三个字符并在所有 3 种情况下删除前面的反斜杠?

最佳答案

您可以使用像 [*_-] 这样的字符类.

仅删除这些字符前的反斜杠:

document.body.innerHTML =
   "omg\\-bbq\\*everywhere\\-".replace(/\\([*_-])/g, '$1');

当您将子模式放入捕获组 ((...)) 时,您将该子文本捕获到编号缓冲区中,然后您可以使用 $1 引用它。反向引用(1 因为模式中只有一个 (...)。)

关于javascript - 正则表达式:如何删除匹配字符串之前的字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35231026/

相关文章:

javascript - 为什么在一种情况下会在 Render 上调用 onClick 函数,而在另一种情况下不会调用 onClick 函数

regex - 需要正则表达式以单引号或双引号解析关键字='value'

php - 替换大括号内字符串中的所有空格

asp.net - 正则表达式验证文本框至少需要两个单词

java - 将区域设置属性名称转换为普通名称的最佳方法

javascript - id 到 jquery 中的字段

javascript - 从其他 HTML 文件加载 HTML 文件中的特定 div

javascript - ReactJS 不显示 backgroundImage 内联 CSS

c++ - 在 C++ 中使用 String 类的 .substr 获取无效参数

ios - 确定 UITextView 将截断字符串的位置