如果您的代理程式會使用語音辨識功能 (也稱為「音訊輸入」、「語音轉文字」或「STT」),則系統在比對英文字母和數字時,必須以特殊的方式處理規則運算式。在比對實體之前,語音辨識器會先處理使用者的語音內容。如果語音內容中包含一系列的英文字母或數字,辨識器可能會為每個字元加上空格。另外,辨識器也會解讀以文字呈現的數字。舉例來說,系統可能會將使用者說出的「我的 ID 是 123」識別為以下任一形式:
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["難以理解","hardToUnderstand","thumb-down"],["資訊或程式碼範例有誤","incorrectInformationOrSampleCode","thumb-down"],["缺少我需要的資訊/範例","missingTheInformationSamplesINeed","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-09-04 (世界標準時間)。"],[[["\u003cp\u003eRegexp entities allow matching patterns like national IDs or license plates using regular expressions.\u003c/p\u003e\n"],["\u003cp\u003eMultiple regular expressions for a single entity are combined into a compound regular expression using the alternation operator (\u003ccode\u003e|\u003c/code\u003e).\u003c/p\u003e\n"],["\u003cp\u003eThe order of regular expressions within a compound expression matters, as matching stops after the first valid match is found.\u003c/p\u003e\n"],["\u003cp\u003eSpeech recognition requires special handling for regexp entities because the speech recognizer might add spaces between characters or interpret digits as words.\u003c/p\u003e\n"],["\u003cp\u003eThere are limitations to using regexp entities, including no fuzzy matching, a maximum of 50 regexp entities per agent, and a 2000-character limit for compound regular expressions.\u003c/p\u003e\n"]]],[],null,["# Regexp entities\n\nSome entities need to match patterns rather than specific terms.\nFor example, national identification numbers, IDs, license plates, and so on.\nWith *regexp entities* ,\nyou can provide\n[regular expressions](https://github.com/google/re2/wiki/Syntax)\nfor matching.\n\nWhere to find this data\n-----------------------\n\nWhen building an agent,\nit is most common to use the\nDialogflow ES console ([visit documentation](/dialogflow/docs/console), [open console](https://dialogflow.cloud.google.com)).\nThe instructions below focus on using the console.\nTo access entity data:\n\n1. Go to the [Dialogflow ES console](https://dialogflow.cloud.google.com).\n2. Select an agent.\n3. Select **Entities** in the left sidebar menu.\n\nIf you are building an agent using the API instead of the console, see the\n[EntityTypes reference](/dialogflow/docs/reference/common-types#entitytypes).\nThe API field names are similar to the console field names.\nThe instructions below highlight any important differences between the console and the API.\n\nCompound regular expressions\n----------------------------\n\nEach regexp entity corresponds to a single pattern,\nbut you can provide multiple regular expressions if they all represent variations of a single pattern.\nDuring agent training, all regular expressions of a single entity are combined\nwith the alternation operator (`|`) to form one *compound regular expression*.\n\nFor example, if you provide the following regular expressions for a phone number:\n\n- `^[2-9]\\d{2}-\\d{3}-\\d{4}$`\n- `^(1?(-?\\d{3})-?)?(\\d{3})(-?\\d{4})$`\n\nThe compound regular expression becomes:\n\n- `^[2-9]\\d{2}-\\d{3}-\\d{4}$|^(1?(-?\\d{3})-?)?(\\d{3})(-?\\d{4})$`\n\nThe ordering of regular expressions matters.\nEach of the regular expressions in the compound regular expression are processed in order.\nSearching stops once a valid match is found.\nFor example, for an end user expression of \"Seattle\":\n\n- `Sea|Seattle` matches \"Sea\"\n- `Seattle|Sea` matches \"Seattle\"\n\nSpecial handling for speech recognition\n---------------------------------------\n\n| **Note:** Enabling [auto speech adaptation](/dialogflow/es/docs/speech-adaptation) is recommended when using regexp entities. Also see the speech adaptation [regexp-specific guidelines](/dialogflow/es/docs/speech-adaptation#regexp-entities).\n\nIf your agent uses speech recognition\n(also known as audio input, speech-to-text, or STT),\nyour regular expressions will need special handling when matching letters and numbers.\nA spoken end-user utterance is first processed by the speech recognizer before entities are matched.\nWhen an utterance contains a series of letters or numbers,\nthe recognizer may pad each character with spaces.\nIn addition, the recognizer may interpret digits in word form.\nFor example, an end-user utterance of \"My ID is 123\"\nmay be recognized as any of the following:\n\n- \"My ID is 123\"\n- \"My ID is 1 2 3\"\n- \"My ID is one two three\"\n\nTo accommodate three digit numbers,\nyou could use the following regular expressions: \n\n```\n\\d{3}\n``` \n\n```\n\\d \\d \\d\n``` \n\n```\n(zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine) (zero|one|two|three|four|five|six|seven|eight|nine)\n```\n\nCreate a regexp entity\n----------------------\n\nTo create a regexp entity:\n\n1. Open an existing entity or create a new one.\n2. Check **Regexp entity**.\n3. Enter one or more regular expressions in the entries table.\n4. Click **Save**.\n\nIf you are using the API to create or update entities,\nuse `KIND_REGEXP` for the entity kind field.\n\nLimitations\n-----------\n\nThe following limitations apply:\n\n- [Fuzzy matching](/dialogflow/docs/entities-fuzzy) cannot be enabled for regexp entities. These features are mutually exclusive.\n- Each agent can have a maximum of 50 regexp entities.\n- The [compound regular expression](#compound) for an entity has a maximum length of 2000 characters."]]