網址對應的 RE2 規格
本頁說明在網址對應中的規則運算式使用 RE2 語法的相關規定和限制。
RE2 內建下列限制:
- RE2 不支援任意的預先或回溯斷言,也不支援反向參照。具體來說,系統不支援下列反向參照運算子:
(?=) - 正向先行
(?!) - 負向先行
(?<=) - 正向後顧
(?<!) - 負向後顧
\N - 反向參照,其中 N 為整數
- RE2 無法將
\cx 辨識為 Control-X 字元。
- RE2 無法識別原子分組運算子
(?>...) 和 ++
- RE2 無法辨識
\C、\G 或 \X。
- RE2 無法辨識條件式子模式
(?(...)...)、註解 (?#...)、模式參照 (?R) (?1) (?P>foo) 或 C 附註 (?C...)。
除了前述 RE2 限制外,我們還會使用下列允許清單,進一步限制規則運算式語法:
- 允許使用單一字元運算子
- 群組只能有子字串比對運算子
- 群組只能包含不重複的項目
- 字元重複只能出現在單一規則運算式中,且必須符合下列條件:
- 範圍只能包含下列項目:
空字串和空字串的類似項目
| 運算子 |
說明 |
^ |
文字或行的開頭 (m=true) |
$ |
在文字 (例如 \z,而非 \Z) 或行 (m=true) 結尾 |
\A |
文字開頭 |
\b |
在 ASCII 字詞界線 (一側為 \w,另一側為 \W、\A 或 \z) |
\B |
不在 ASCII 字詞邊界 |
\g |
位於要搜尋的子文字開頭 |
\G |
在上一場比賽結束時 |
\z |
文字結尾 |
重複次數
| 運算子 |
說明 |
x* |
零或多個 x,建議多個 |
x+ |
一或多個 x,偏好更多 |
x? |
零或一個 x,建議一個 |
x{n,m} |
N 或 n+1 或 ... 或 m x,建議選擇較多 |
x{n,} |
N 個以上 x,越多越好 |
x{n} |
確切 n 倍 |
x*? |
零或多個 x,偏好較少 |
x+? |
一或多個 x,偏好較少 |
x?? |
零或一個 x,偏好零 |
x{n,m}? |
N 或 n+1 或 ... 或 m x,建議較少 |
x{n,}? |
N 個以上 x,建議較少 |
x{n}? |
確切 n x |
Submatch
| 運算子 |
說明 |
(re) |
編號擷取群組 (子比對) |
(?P<name>re) |
已命名和編號的擷取群組 (子比對) |
(?<name>re) |
已命名和編號的擷取群組 (子比對) |
(?:re) |
非擷取群組 |
(?flags) |
在目前群組中設定旗標;非擷取群組 |
(?flags:re) |
在 re 中設定旗標;非擷取 |
範圍
| 運算子 |
說明 |
[] |
範圍 |
\d |
數字 (≡ [0-9]) |
\D |
非數字 (≡ [^0-9]) |
\s |
空白字元 (≡ [\t\n\f\r ]) |
\S |
非空白字元 (≡ [^\t\n\f\r ]) |
\w |
文字字元 (≡ [0-9A-Za-z_]) |
\W |
非文字字元 (≡ [^0-9A-Za-z_]) |
[[:alnum:]] |
英數字元 (≡ [0-9A-Za-z]) |
[[:alpha:]] |
字母 (≡ [A-Za-z]) |
[[:ascii:]] |
ASCII (≡ [\x00-\x7F]) |
[[:blank:]] |
空白 (≡ [\t ]) |
[[:cntrl:]] |
控制 (≡ [\x00-\x1F\x7F]) |
[[:digit:]] |
數字 (≡ [0-9]) |
[[:lower:]] |
小寫 (≡ [a-z]) |
[[:space:]] |
空白字元 (≡ [\t\n\v\f\r ]) |
[[:upper:]] |
大寫 (≡ [A-Z]) |
[[:word:]] |
文字字元 (≡ [0-9A-Za-z_]) |
[[:xdigit:]] |
十六進位數字 (≡ [0-9A-Fa-f]) |
範圍中允許的字元
| 字元範圍 |
說明 |
0-9, A-Z, a-z |
英數字元 |
\x00-\x7F |
ASCII |
0-9A-Fa-f |
十六進位數字 |
\t\n\v\f\r |
空白字元 |
^ |
範圍否定 |
!"#$%&'()*+,\-.:;<=>?@[\\\]^_`{|}~ |
其他角色 |
除非另有註明,否則本頁面中的內容是採用創用 CC 姓名標示 4.0 授權,程式碼範例則為阿帕契 2.0 授權。詳情請參閱《Google Developers 網站政策》。Java 是 Oracle 和/或其關聯企業的註冊商標。
上次更新時間:2025-12-05 (世界標準時間)。
[[["容易理解","easyToUnderstand","thumb-up"],["確實解決了我的問題","solvedMyProblem","thumb-up"],["其他","otherUp","thumb-up"]],[["缺少我需要的資訊","missingTheInformationINeed","thumb-down"],["過於複雜/步驟過多","tooComplicatedTooManySteps","thumb-down"],["過時","outOfDate","thumb-down"],["翻譯問題","translationIssue","thumb-down"],["示例/程式碼問題","samplesCodeIssue","thumb-down"],["其他","otherDown","thumb-down"]],["上次更新時間:2025-12-05 (世界標準時間)。"],[],[]]