Delete CE member with selection/filter

I have made a simple PML script to delete some GENPRIs from imported STEP files. This script is working. But I would like to have more control over what I'm deleting. Any suggestions?? Or is there a pmlform already for this? CDCDELSEL will do this, but I would like to use some kind of filter etc

!pref [1] = '*studbolt*'
!pref [2] = '*washer*'
!pref [3] = '*din_933*'
!pref [4] = '*din_125*'
!pref [5] = '*din_6797*'
!pref [6] = '*hex_nut*'
!pref [7] = '*gasket*'
!pref [8] = '*welds*'
!pref [9] = '*greenpin*'
!pref [10] = '*shackle*'
!pref [11] = '*din_934*'

!elements = !!CollectAllFor('GENPRI','', !!CE)
do !element values !elements
!name = !element.name.lowcase()
	do !prf values !pref
		if (matchwild('$!name','$!prf') eq true) then
			$P $!element.name
			$!element
			DELETE $!!CE.type
		endif
	enddo
enddo