lis={"#49:5"->"#61:7", "#49:5"->"#62:5", "#49:6"->"#61:8", "#49:6"->"#62:4", "#49:7"->"#61:10", "#49:7"->"#62:3", "#49:8"->"#61:9", "#49:8"->"#62:6"}
I would like to partition this list of rules into a number of sublists that is based on value string patterns #61:x, #62:y,.... #6n:z
clusters=Flatten@DeleteDuplicates@StringCases[Values@mrules,"#"~~cluster__~~":"->cluster]
Out= {61,62}
Therefore this list of rules can be split into two sublists (ordering is not required here):
{{"#49:5"->"#61:7", "#49:6"->"#61:8", "#49:7"->"#61:10", "#49:8"->"#61:9"}, {"#49:5"->"#62:5", "#49:6"->"#62:4", "#49:7"->"#62:3", "#49:8"->"#62:6"}}
I can also take the list of values sorted
Sort@Values@lis
Out = {"#61:10", "#61:7", "#61:8", "#61:9", "#62:3", "#62:4", "#62:5", "#62:6"}
Then I experimented with Cases, Split, Select, StringMatchQ, etc without any luck.
Could you please assist me with this problem ?