[ArrowStringArray] use pyarrow.compute.match_substring_regex if available
follow-up to #41025

```
[ 50.00%] ··· strings.Contains.time_contains                                                                                                              ok
[ 50.00%] ··· ============== ========== ==========
              --                     regex        
              -------------- ---------------------
                  dtype         True      False   
              ============== ========== ==========
                   str        22.0±0ms   15.0±0ms 
                  string      17.2±0ms   10.9±0ms 
               arrow_string   6.84±0ms   2.37±0ms 
              ============== ========== ==========
```