Source File
doc.go
Belonging Package
regexp/syntax
// Copyright 2012 The Go Authors. All rights reserved.// Use of this source code is governed by a BSD-style// license that can be found in the LICENSE file.// Code generated by mksyntaxgo from the RE2 distribution. DO NOT EDIT./*Package syntax parses regular expressions into parse trees and compilesparse trees into programs. Most clients of regular expressions will use thefacilities of package [regexp] (such as [regexp.Compile] and [regexp.Match]) instead of this package.# SyntaxThe regular expression syntax understood by this package when parsing with the [Perl] flag is as follows.Parts of the syntax can be disabled by passing alternate flags to [Parse].Single characters:. any character, possibly including newline (flag s=true)[xyz] character class[^xyz] negated character class\d Perl character class\D negated Perl character class[[:alpha:]] ASCII character class[[:^alpha:]] negated ASCII character class\pN Unicode character class (one-letter name)\p{Greek} Unicode character class\PN negated Unicode character class (one-letter name)\P{Greek} negated Unicode character classComposites:xy x followed by yx|y x or y (prefer x)Repetitions:x* zero or more x, prefer morex+ one or more x, prefer morex? zero or one x, prefer onex{n,m} n or n+1 or ... or m x, prefer morex{n,} n or more x, prefer morex{n} exactly n xx*? zero or more x, prefer fewerx+? one or more x, prefer fewerx?? zero or one x, prefer zerox{n,m}? n or n+1 or ... or m x, prefer fewerx{n,}? n or more x, prefer fewerx{n}? exactly n xImplementation restriction: The counting forms x{n,m}, x{n,}, and x{n}reject forms that create a minimum or maximum repetition count above 1000.Unlimited repetitions are not subject to this restriction.Grouping:(re) numbered capturing group (submatch)(?P<name>re) named & numbered capturing group (submatch)(?<name>re) named & numbered capturing group (submatch)(?:re) non-capturing group(?flags) set flags within current group; non-capturing(?flags:re) set flags during re; non-capturingFlag syntax is xyz (set) or -xyz (clear) or xy-z (set xy, clear z). The flags are:i case-insensitive (default false)m multi-line mode: ^ and $ match begin/end line in addition to begin/end text (default false)s let . match \n (default false)U ungreedy: swap meaning of x* and x*?, x+ and x+?, etc (default false)Empty strings:^ at beginning of text or line (flag m=true)$ at end of text (like \z not \Z) or line (flag m=true)\A at beginning of text\b at ASCII word boundary (\w on one side and \W, \A, or \z on the other)\B not at ASCII word boundary\z at end of textEscape sequences:\a bell (== \007)\f form feed (== \014)\t horizontal tab (== \011)\n newline (== \012)\r carriage return (== \015)\v vertical tab character (== \013)\* literal *, for any punctuation character *\123 octal character code (up to three digits)\x7F hex character code (exactly two digits)\x{10FFFF} hex character code\Q...\E literal text ... even if ... has punctuationCharacter class elements:x single characterA-Z character range (inclusive)\d Perl character class[:foo:] ASCII character class foo\p{Foo} Unicode character class Foo\pF Unicode character class F (one-letter name)Named character classes as character class elements:[\d] digits (== \d)[^\d] not digits (== \D)[\D] not digits (== \D)[^\D] not not digits (== \d)[[:name:]] named ASCII class inside character class (== [:name:])[^[:name:]] named ASCII class inside negated character class (== [:^name:])[\p{Name}] named Unicode property inside character class (== \p{Name})[^\p{Name}] named Unicode property inside negated character class (== \P{Name})Perl character classes (all ASCII-only):\d digits (== [0-9])\D not digits (== [^0-9])\s whitespace (== [\t\n\f\r ])\S not whitespace (== [^\t\n\f\r ])\w word characters (== [0-9A-Za-z_])\W not word characters (== [^0-9A-Za-z_])ASCII character classes:[[:alnum:]] alphanumeric (== [0-9A-Za-z])[[:alpha:]] alphabetic (== [A-Za-z])[[:ascii:]] ASCII (== [\x00-\x7F])[[:blank:]] blank (== [\t ])[[:cntrl:]] control (== [\x00-\x1F\x7F])[[:digit:]] digits (== [0-9])[[:graph:]] graphical (== [!-~] == [A-Za-z0-9!"#$%&'()*+,\-./:;<=>?@[\\\]^_`{|}~])[[:lower:]] lower case (== [a-z])[[:print:]] printable (== [ -~] == [ [:graph:]])[[:punct:]] punctuation (== [!-/:-@[-`{-~])[[:space:]] whitespace (== [\t\n\v\f\r ])[[:upper:]] upper case (== [A-Z])[[:word:]] word characters (== [0-9A-Za-z_])[[:xdigit:]] hex digit (== [0-9A-Fa-f])Unicode character classes are those in [unicode.Categories],[unicode.CategoryAliases], and [unicode.Scripts].*/package syntax
![]() |
The pages are generated with Golds v0.7.9-preview. (GOOS=linux GOARCH=amd64) Golds is a Go 101 project developed by Tapir Liu. PR and bug reports are welcome and can be submitted to the issue list. Please follow @zigo_101 (reachable from the left QR code) to get the latest news of Golds. |