reg表达式搜索并替换错误

时间:2011-10-28 14:46:54

标签: regex perl replace

我正在尝试搜索字符串,该字符串是用户在unix中所属的组列表,

并替换组vsifax或者它是字符串组的中间或末尾,之前的空值或空格中的任何一个更容易

$gs =~ s/*,vsifax//;

但是当我尝试运行脚本时会返回错误

$ usermove.pl > users.sh
Quantifier follows nothing in regex; marked by <-- HERE in m/* <-- HERE ,vsifax/
at usermove.pl line 13.

我看不出有什么问题我已阅读并重新阅读有关正则表达式的一些教程并将其杀死

2 个答案:

答案 0 :(得分:4)

我猜这个命令应该看起来像这样。

$gs =~ s/*,vsifax//;

应该是:

$gs =~ s/,?vsifax//;

我想你要删除组名和最后一个逗号,对吧?

答案 1 :(得分:2)

试试这个,我认为你的正则表达式不需要*

$gs =~ s/(,?vsifax)|(vsifax,?)//;