Regex 正则表达式以删除字符串的前导部分
我有不同的字符串,但格式相同,有三个单词用空格隔开。目标是删除字符串的第一部分。换句话说,删除每个字符串的前导数据 什么Perl正则表达式使我能够删除前导数据,同时保持字符串的其余部分不受影响 输入Regex 正则表达式以删除字符串的前导部分,regex,perl,Regex,Perl,我有不同的字符串,但格式相同,有三个单词用空格隔开。目标是删除字符串的第一部分。换句话说,删除每个字符串的前导数据 什么Perl正则表达式使我能够删除前导数据,同时保持字符串的其余部分不受影响 输入 String 1:苹果桃子葡萄 第二组:菠菜西红柿胡萝卜 串3:玉米土豆米饭 输出 String 1:桃子和葡萄 串2:西红柿胡萝卜 串3:土豆饭 Perl #/usr/bin/perl 使用v5.10.0; 使用警告; $string1=“苹果桃子葡萄”; $string2=“菠菜西红柿胡萝卜
String 1:苹果桃子葡萄
第二组:菠菜西红柿胡萝卜
串3:玉米土豆米饭
输出
String 1:桃子和葡萄
串2:西红柿胡萝卜
串3:土豆饭
Perl
#/usr/bin/perl
使用v5.10.0;
使用警告;
$string1=“苹果桃子葡萄”;
$string2=“菠菜西红柿胡萝卜”;
$string3=“玉米土豆大米”;
#应用ReqExp删除字符串的第一部分
$string1=~s/../;
比如说$1;
比如说$2;
比如说3美元;
字符串的开头^
1个或多个非空格字符\S+
1个或多个水平空格\h+
$string1 =~ s/^\S+[ \t]+//;
试试这个
^.+?(?=\s)
如果你的数据实际上不包含字符串1:
等等,那么你不应该在你的问题中显示它。为什么不使用一个简单的$str=~s/^\s+\s+/
?
$string1 =~ s/^\S+[ \t]+//;