javascript - 正则表达式删除不需要的字符模式

标签 javascript regex character

我需要从字符串中删除一些字符。但是,也有一定的限制。

示例短语:

有两个“@planes”,它们的构建方式几乎完全相同。

我需要找到模式'@ 和下一个'。这些字符需要从字符串中删除。但是,如果只有 ' 或只有 @,它们应该保持不变。需要澄清的是,该字符串可以包含一个或多个单词,这些单词在开头用“@”括起来,在末尾用一个“”括起来。需要删除包围的字符。

删除字符后,它应该如下所示:

有两架飞机的制造方式几乎完全相同。

另一个示例短语:

“@计算机”有时可能非常“@昂贵”,但在其他情况下它可能是“@便宜甚至免费”。

删除字符后,它应该如下所示:

计算机的价格有时可能非常昂贵,但在其他情况下它可能很便宜甚至免费。

正则表达式应该在 JavaScript 中工作。

最佳答案

/'@([a-z0-9\s]+)'/gi 适合您吗?

"A '@computer' can sometimes be very '@expensive in price' but in other cases it can be @cheap or even free'.".replace(/'@([a-z0-9\s]+)'/gi, '$1');

您可以查看https://regex101.com/获取有关正则表达式本身的详细解释。

关于javascript - 正则表达式删除不需要的字符模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61793152/

相关文章:

python - 重叠模式的正则表达式

javascript - AJAX with Rails - 缺少模板

javascript - 每次页面刷新时增加计数器

javascript - Coffeescript ajax 成功调用外部函数

regex - Windows 本地主机的 .htaccess 文件配置

swift - 声明一个只能包含 ASCII 字符的 Swift 字符类型?

javascript - Ajax - "Access-Control-Allow-Origin"错误

javascript - 使用 javascript 正则表达式在大文本中查找首字母缩略词

arrays - Swift 字符串比较字符

c++ - 将字符数组初始化为C++中的NULL