Coldfusion にはすべてのケースに対応する機能がないように思われるため、回避策として手動の解決策を見つけました。私がしたことは、部分文字列を検索するループを作成し、見つかった場合は現在の文字列から前のテキストを削除することでした。残りの文字列に他の出現がない場合、ループは停止するため、変数の最後の出現が探しているものです。これはコードです:
<cfloop condition="continueParse eq true">
<cfset airportService= REfindNoCase('-[A-Z]{3}', variables.textBeforeFirstName, 1, "true")>
<cfif airportService.len[1] gt 0>
<cfset variables.airportServiceName = #mid(variables.textBeforeFirstName,airportService.pos[1],airportService.len[1])#>
<cfset variables.textBeforeFirstName = #right(variables.textBeforeFirstName,#len(variables.textBeforeFirstName)#-(airportService.pos[1]+airportService.len[1]))#>
#variables.airportServiceName#<br/>
<cfelse>
<cfset continueParse = false>
</cfif>
</cfloop>