我是perl的新手。我需要帮助解析下面的字符串,我不知道该怎么做。
示例输入&预期产出:
1)简单字符串
Input: "postgres=C*/postgres"
Expected output: ['postgres', 'C*', 'postgres']
2)更复杂的字符串。
Input: "test,""""=C/{}"=C*T/"test,""""=C/{}"
output: ['"test,""""=C/{}"', 'C*T', '"test,""""=C/{}"']
请帮忙。
========================= UPDATE ============
我在Regex下面尝试过,它适用于简单的字符串,但它对复杂的字符串不起作用。
$line = "postgres=C*/postgres";
$line1 = 'test,""""=C/{}"=C*T/"test,""""=C/{}';
if($line =~ /(.+)\=(C\*)\/(.+)/)
{
print "$1 $2 $3";
}
if($line1 =~ /(.+)\=(C\*)\/(.+)/)
{
print "$1 $2 $3";
}
输出:
postgres C* postgres
我想在“= 到 /”之间将字符串分开
但问题是“并不总是存在于 = 之前的字符串中。
我想检索子字符串,例如 C 或 C * 或 C * T 或 C * x 主弦。
答案 0 :(得分:1)