Regex 如何找到倒数第二个符号?

Regex 如何找到倒数第二个符号?,regex,Regex,我有这样的字符串,我想找到这个分号(conDatabase));最后一个之前的那个。这样,在我删除它之后,结果会显示出来 cmd.Add(new MySqlCommand("CREATE USER u1@'%' IDENTIFIED BY '"+p1+"'", conDatabase);); cmd.Add(new MySqlCommand("CREATE USER u2@'%' IDENTIFIED BY '" + p2+ "'", conDatabase);); “我感兴趣的是一个分号,然

我有这样的字符串,我想找到这个分号(conDatabase));最后一个之前的那个。这样,在我删除它之后,结果会显示出来

cmd.Add(new MySqlCommand("CREATE USER u1@'%' IDENTIFIED BY '"+p1+"'", conDatabase););
cmd.Add(new MySqlCommand("CREATE USER u2@'%' IDENTIFIED BY '" + p2+ "'", conDatabase););
“我感兴趣的是一个分号,然后是一串非分号,一个分号,更多的分号和行尾。”

但对你来说,这太过分了。只需替换
;)

“我感兴趣的是一个分号,然后是一串非分号,一个分号,更多的分号和行尾。”

但对你来说,这太过分了。只需替换
;)

尝试此操作。请参阅演示。替换为
空字符串

尝试此操作。请参阅演示。替换为
空字符串


Teeheee,同样+1.蒂希,我也是+1.哦,对了,我甚至没有想过,但我想要一个这样的解决方案,这样我就知道如何在将来解决同一问题的更复杂的情况是的,是的,明白了。@hwnd:正如我所说,
;)限制在OP的示例中,它似乎比这更容易。但答案中的解决方案适用于标题中所暗示问题的最一般情况。您的解决方案将匹配除行尾分号以外的所有分号。因此,它将像倒数第二个一样与后面的第三个相匹配;如果它没有卡在最后,它将与最后一个匹配。哦,对了,我甚至没有想过,但我想要一个这样的解决方案,这样我就知道如何在将来解决同一问题的更复杂的情况是的,是的,明白了。@hwnd:正如我说的,
;)限制在OP的示例中,它似乎比这更容易。但答案中的解决方案适用于标题中所暗示问题的最一般情况。您的解决方案将匹配除行尾分号以外的所有分号。因此,它将像倒数第二个一样与后面的第三个相匹配;如果它没有卡在最末端,它将与最后一个匹配。
cmd.Add(new MySqlCommand("CREATE USER u1@'%' IDENTIFIED BY '"+p1+"'", conDatabase));
cmd.Add(new MySqlCommand("CREATE USER u2@'%' IDENTIFIED BY '" + p2+ "'", conDatabase));
/;(?=[^;]*;[^;]*$)/
;(?=[^;]*;[^;]*$)