regex - 正则表达式删除字符串中最后一个逗号之后的所有内容
问题描述
我想在 Perl 中编写一个正则表达式,它将删除字符串中最后一个逗号之后的所有内容。我知道最后一个逗号之后的子字符串是一个数字或其他一些子字符串,所以那里没有逗号。
示例:some\string,/doesnt-really.metter,5
。
我希望正则表达式删除最后一个逗号,5
因此输出将是:some\string,/doesnt-really.metter
我不允许仅使用正则表达式使用任何附加模块。那么我应该使用哪个正则表达式?
另一个例子:
string_with,,,,,_no_point,some_string => string_with,,,,,_no_point
解决方案
如果逗号后面总是跟一个或多个数字,您可以使用: s/,\d+$//
. 更一般地,使用s/,[^,]*$//
(匹配一个逗号,后跟零个或多个非逗号字符,后跟字符串结尾)。
推荐阅读
- javascript - 如何保存 Tensorflow.js 模型?
- excel - 根据颜色将整行从当前工作表复制到另一张工作表
- ios - 如何访问大子元素?
- c# - 使用十进制值时 ASP.NET 模型绑定中断
- asp.net-core - ASP.Net Core:从一个标签助手输出 2 个标签
- python - Python:使列表唯一并替换重复项
- c# - .net ORM,它允许我在不修改代码的情况下扩展我的代码(开放封闭原则)
- javascript - 通过在 selenium-webdriver javascript 中按键输入值
- streaming - 同时向多个设备发送视频时使用什么协议
- python - 在管理界面显示总金额