我有一个文件,其中包含类似这样的数据
34sdf, 434ssdf, 43fef,
34sdf, 434ssdf, 43fef, sdfsfs,
我必须识别sdfsfs,
并替换它和/或打印该行。
The exact condition is the tokens are comma separated. target expression starts with a non numeric character, and till a comma is met.
现在我[^0-9]
从一个非数字字符开始,但下一个字符对我来说真的是未知的,它可以是一个数字、一个特殊字符、一个字母甚至一个空格。所以我想要一个(anything)*
. 但是前[]
一个开始发挥作用并破坏了它。[^0-9]*
or [^0-9].*,
or [^0-9]\+.*,
or [^0-9]{1}*,
or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or or [^0-9][^,]*
or [^0-9]{1}[^\,]*,
)),到现在为止没有任何效果。所以我的问题是如何为此编写一个正则表达式(起始字符是非数字,然后是除逗号之外的任何字符或任何数量的字符直到逗号)我正在使用grep
和sed
(gnu)。另一个问题是 posix 或 non-posix,有什么区别吗?