

如需與 Amazon Timestream for LiveAnalytics 類似的功能，請考慮使用 Amazon Timestream for InfluxDB。它提供簡化的資料擷取和單一位數毫秒查詢回應時間，以進行即時分析。[在這裡](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html)進一步了解。

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 規則運算式函數
<a name="regex-functions"></a>

Timestream for LiveAnalytics 中的規則表達式函數支援 [Java 模式語法](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html)。適用於 LiveAnalytics 的 Timestream 支援下列規則表達式函數。


| 函式 | 輸出資料類型 | Description | 
| --- | --- | --- | 
|  regexp\$1extract\$1all（字串，模式）  |  array(varchar)  |  傳回字串中規則表達式模式相符的子字串 (s)。 <pre>SELECT regexp_extract_all('example expect complex', 'ex\w')</pre> 範例結果： `[ exa,exp ]`  | 
|  regexp\$1extract\$1all（字串、模式、群組）  |  array(varchar)  |  尋找字串中規則表達式模式的所有出現次數，並傳回[擷取群組號碼](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#gnumber)群組。 <pre>SELECT regexp_extract_all('example expect complex', '(ex)(\w)', 2)</pre> 範例結果： `[ a,p ]`  | 
|  regexp\$1extract（字串，模式）  |  varchar  |  傳回字串中規則表達式模式比對的第一個子字串。 <pre>SELECT regexp_extract('example expect', 'ex\w')</pre> 範例結果： `exa`  | 
|  regexp\$1extract（字串、模式、群組）   |  varchar  |  尋找字串中第一次出現的規則表達式模式，並傳回[擷取群組號碼](http://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html#gnumber)群組。 <pre>SELECT regexp_extract('example expect', '(ex)(\w)', 2)</pre> 範例結果： `a`  | 
|  regexp\$1like（字串，模式）   |  boolean  |  評估規則表達式模式，並判斷是否包含在字串中。此函數類似於 LIKE 運算子，但模式只需要包含在字串中，而不需要符合所有字串。換句話說，這會執行包含操作，而不是相符操作。您可以使用 ^ 和 \$1 錨定模式，以符合整個字串。 <pre>SELECT regexp_like('example', 'ex')</pre> 範例結果： `true`  | 
|  regexp\$1replace（字串，模式）  |  varchar  |  從字串中移除與規則表達式模式相符的每個子字串執行個體。 <pre>SELECT regexp_replace('example expect', 'expect')</pre> 範例結果： `example`  | 
|  regexp\$1replace（字串、模式、取代）   |  varchar  |  將字串中 regex 模式相符的每個子字串執行個體替換為替換。使用 \$1g 的編號群組或 \$1\$1name\$1 的具名群組，可以在取代中參考擷取群組。貨幣符號 (\$1) 可能會包含在替換中，方法是用反斜線 (\$1\$1) 逸出。 <pre>SELECT regexp_replace('example expect', 'expect', 'surprise')</pre> 範例結果： `example surprise`  | 
|  regexp\$1replace（字串、模式、函數）   |  varchar  |  使用 函數取代字串中規則表達式模式相符的每個子字串執行個體。每個比對都會叫用 [lambda 表達](https://prestodb.io/docs/current/functions/lambda.html)式函數，擷取群組會以陣列形式傳遞。擷取群組號碼從一開始；整個相符項目沒有群組 （如果您需要，請使用括號括住整個表達式）。 <pre>SELECT regexp_replace('example', '(\w)', x -> upper(x[1]))</pre> 範例結果： `EXAMPLE`  | 
|  regexp\$1split（字串，模式）   |  array(varchar)  |  使用規則表達式模式分割字串並傳回陣列。保留追蹤空白字串。 <pre>SELECT regexp_split('example', 'x')</pre> 範例結果： `[ e,ample ]`  | 