regexpx

package
v1.0.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 20, 2023 License: MIT Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	AscAlnum  = `[[:alnum:]]`  // 字母数字 (相当于 [0-9A-Za-z])
	AscAlpha  = `[[:alpha:]]`  // 字母 (相当于 [A-Za-z])
	AscAscii  = `[[:ascii:]]`  // ASCII 字符集 (相当于 [\x00-\x7F])
	AscBlank  = `[[:blank:]]`  // 空白占位符 (相当于 [\t ])
	AscCntrl  = `[[:cntrl:]]`  // 控制字符 (相当于 [\x00-\x1F\x7F])
	AscDigit  = `[[:digit:]]`  // 数字 (相当于 [0-9])
	AscGraph  = `[[:graph:]]`  // 图形字符 (相当于 [!-~])
	AscLower  = `[[:lower:]]`  // 小写字母 (相当于 [a-z])
	AscPrint  = `[[:print:]]`  // 可打印字符 (相当于 [ -~] 相当于 [ [:graph:]])
	AscPunct  = `[[:punct:]]`  // 标点符号 (相当于 [!-/:-@[-反引号{-~])
	AscSpace  = `[[:space:]]`  // 空白字符(相当于 [\t\n\v\f\r ])
	AscUpper  = `[[:upper:]]`  // 大写字母(相当于 [A-Z])
	AscWord   = `[[:word:]]`   // 单词字符(相当于 [0-9A-Za-z_])
	AscXdigit = `[[:xdigit:]]` // 16進制字符集(相当于 [0-9A-Fa-f])
)

ASCII类

View Source
const (
	PerlDigit    = `\d` // 数字 (相当于 [0-9])
	PerlNotDigit = `\D` // 非数字 (相当于 [^0-9])
	PerlSpace    = `\s` // 空白 (相当于 [\t\n\f\r ])
	PerlNotSpace = `\S` // 非空白 (相当于[^\t\n\f\r ])
	PerlWord     = `\w` // 单词字符 (相当于 [0-9A-Za-z_])
	PerlNotWord  = `\W` // 非单词字符 (相当于 [^0-9A-Za-z_])

	PerlStart = `^`  // 如果标记 m=true 则匹配行首,否则匹配整个文本的开头(m 默认为 false)
	PerlEnd   = `$`  // 如果标记 m=true 则匹配行尾,否则匹配整个文本的结尾(m 默认为 false)
	P_A       = `\A` // 匹配整个文本的开头,忽略 m 标记
	P_b       = `\b` // 匹配单词边界
	P_B       = `\B` // 匹配非单词边界
	P_z       = `\z` // 匹配整个文本的结尾,忽略 m 标记

	P_a         = `\a`         //匹配响铃符(相当于 \x07)
	P_backspace = `\x08`       //注意:正则表达式中不能使用 \b 匹配退格符,因为 \b 被用来匹配单词边界,可以使用 \x08 表示退格符。
	P_f         = `\f`         //匹配换页符 (相当于 \x0C)
	P_t         = `\t`         //匹配横向制表符(相当于 \x09)
	P_n         = `\n`         //匹配换行符 (相当于 \x0A)
	P_r         = `\r`         //匹配回车符 (相当于 \x0D)
	P_v         = `\v`         //匹配纵向制表符(相当于 \x0B)
	P_s8_3      = `\123`       //匹配 8  進制编码所代表的字符(必须是 3 位数字)
	P_s16_3     = `\x7F`       //匹配 16 進制编码所代表的字符(必须是 3 位数字)
	P_s16       = `\x{10FFFF}` //匹配 16 進制编码所代表的字符(最大值 10FFFF)
	P_Between   = `\Q...\E`    //匹配 \Q 和 \E 之间的文本,忽略文本中的正则语法

)

Perl类

View Source
const (
	// Zero 零
	Zero = `^0$`
	// Digital 数字
	Digital = `^[0-9]$`

	// PInt 正整数
	PInt = `^[1-9]\d*$`
	// NInt 负整数
	NInt = `^-[1-9]\d*$`
	// NNInt 非负整数(正整数 + 0)
	NNInt = `^[1-9]\d*|0$`
	// NPInt 非正整数(负整数 + 0)
	NPInt = `^-[1-9]\d*|0$`
	// Int 整数
	Int = `^-?[1-9]\d*|0$`

	// PFloat 正浮点数
	PFloat = `^[1-9]\d*.\d*|0.\d*[1-9]\d*$`
	// NFloat 负浮点数
	NFloat = `^-([1-9]\d*.\d*|0.\d*[1-9]\d*)$`
	// NNFloat 非负浮点数(正浮点数 + 0)
	NNFloat = `^[1-9]\d*.\d*|0.\d*[1-9]\d*|0?.0+|0$`
	// NPFloat 非正浮点数(负浮点数 + 0)
	NPFloat = `^(-([1-9]\d*.\d*|0.\d*[1-9]\d*))|0?.0+|0$`
	// Float 浮点数
	Float = `^-?([1-9]\d*.d*|0.\d*[1-9]\d*|0?.0+|0)$`
)

数字相关

View Source
const (
	// LowerLetter 小写字母
	LowerLetter = `[a-z]`
	// UpperLetter 小写字母
	UpperLetter = `[A-Z]`
	// Letter 字母
	Letter = `[a-zA-Z]`
	// Space 空白
	Space = `[\t\n\f\r]`
	// Work 单词字符
	Work = `[0-9A-Za-z_]`

	// Chinese 中文字符 [u4e00-u9fa5]
	Chinese = `[\p{Han}]`
	// DoubleChar
	// 双字节字符
	// 包括汉字在内
	DoubleChar = `[^x00-xff]`
	// EmptyLine 空白行
	EmptyLine = `ns*r`
	// HTML
	// HTML标记
	// 上面这个也仅仅能匹配部分,对于复杂的嵌套标记依旧无能为力
	HTML = `<(S*?)[^>]*>.*?|<.*? /> `
	// EmptyHeadTail 首尾空白字符
	EmptyHeadTail = `^\s*|\s*$ `
	// EMail Email地址
	EMail = `w[-w.+]*@([A-Za-z0-9][-A-Za-z0-9]+.)+[A-Za-z]{2, 14}`
	// EMail2 Email地址
	EMail2 = `w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*`
	// URL 网址URL
	URL = `^((https|http|ftp|rtsp|mms)?://)[^s]+`
	// URL2 网址URL
	URL2 = `[a-zA-z]+://[^s]*`
	// Account 账号 字母开头,允许 5-16 个字节,允许字母数字下划线
	Account = `^[a-zA-Z][a-zA-Z0-9_]{4,15}$`
	// Nickname 昵称 字母开头,允许 5-16 个字节,允许字母数字下划线
	Nickname = `[A-Za-z0-9_\-\u4e00-\u9fa5]+`
	// ChinaPhone1 国内电话号码 匹配形式如 0511-4405222 或 021-87888822
	ChinaPhone1 = `\d{3}-\d{8}|\d{4}-\d{7}`
	// ChinaPhone2 国内电话号码
	ChinaPhone2 = `[0-9-()()]{7,18}`
	// QQ 腾讯QQ号
	QQ = `[1-9]([0-9]{5,11})`
	// ZipCode 中国邮政编码 中国邮政编码为6位数字
	ZipCode = `[1-9]\d{5}(?!\d)`
	// ChinaIDCard 身份证 中国的身份证为15位或18位
	ChinaIDCard = `\d{17}[\d|x]|\d{15}`
	// IPAddress ip地址
	IPAddress = `` /* 158-byte string literal not displayed */

)

常用

View Source
const (
	U_C  = `[\p{C}]`  //-其他-(other)
	U_Cc = `[\p{Cc}]` //控制字符(control)
	U_Cf = `[\p{Cf}]` //格式(format)
	U_Co = `[\p{Co}]` //私人使用区(privateuse)
	U_Cs = `[\p{Cs}]` //代理区(surrogate)

	U_L  = `[\p{L}]`  //-字母-(letter)
	U_Ll = `[\p{Ll}]` //小写字母(lowercaseletter)
	U_Lm = `[\p{Lm}]` //修饰字母(modifierletter)
	U_Lo = `[\p{Lo}]` //其它字母(otherletter)
	U_Lt = `[\p{Lt}]` //首字母大写字母(titlecaseletter)
	U_Lu = `[\p{Lu}]` //大写字母(uppercaseletter)

	U_M  = `[\p{M}]`  //-标记-(mark)
	U_Mc = `[\p{Mc}]` //间距标记(spacingmark)
	U_Me = `[\p{Me}]` //关闭标记(enclosingmark)
	U_Mn = `[\p{Mn}]` //非间距标记(non-spacingmark)

	U_N  = `[\p{N}]`  //-数字-(number)
	U_Nd = `[\p{Nd}]` //十進制数字(decimalnumber)
	U_Nl = `[\p{Nl}]` //字母数字(letternumber)
	U_No = `[\p{No}]` //其它数字(othernumber)

	U_P  = `[\p{P}]`  //-标点-(punctuation)
	U_Pc = `[\p{Pc}]` //连接符标点(connectorpunctuation)
	U_Pd = `[\p{Pd}]` //破折号标点符号(dashpunctuation)
	U_Pe = `[\p{Pe}]` //关闭的标点符号(closepunctuation)
	U_Pf = `[\p{Pf}]` //最后的标点符号(finalpunctuation)
	U_Pi = `[\p{Pi}]` //最初的标点符号(initialpunctuation)
	U_Po = `[\p{Po}]` //其他标点符号(otherpunctuation)
	U_Ps = `[\p{Ps}]` //开放的标点符号(openpunctuation)

	U_S  = `[\p{S}]`  //-符号-(symbol)
	U_Sc = `[\p{Sc}]` //货币符号(currencysymbol)
	U_Sk = `[\p{Sk}]` //修饰符号(modifiersymbol)
	U_Sm = `[\p{Sm}]` //数学符号(mathsymbol)
	U_So = `[\p{So}]` //其他符号(othersymbol)

	U_Z  = `[\p{Z}]`  //-分隔符-(separator)
	U_Zl = `[\p{Zl}]` //行分隔符(lineseparator)
	U_Zp = `[\p{Zp}]` //段落分隔符(paragraphseparator)
	U_Zs = `[\p{Zs}]` //空白分隔符(spaceseparator)

)

Unicode普通类

View Source
const (
	UnicodeArabic             = `[\p{Arabic}]`              //阿拉伯文
	UnicodeArmenian           = `[\p{Armenian}]`            //亚美尼亚文
	UnicodeBalinese           = `[\p{Balinese}]`            //巴厘岛文
	UnicodeBengali            = `[\p{Bengali}]`             //孟加拉文
	UnicodeBopomofo           = `[\p{Bopomofo}]`            //汉语拼音字母
	UnicodeBraille            = `[\p{Braille}]`             //盲文
	UnicodeBuginese           = `[\p{Buginese}]`            //布吉文
	UnicodeBuhid              = `[\p{Buhid}]`               //布希德文
	UnicodeCanadianAboriginal = `[\p{Canadian_Aboriginal}]` //加拿大土著文
	UnicodeCarian             = `[\p{Carian}]`              //卡里亚文
	UnicodeCham               = `[\p{Cham}]`                //占族文
	UnicodeCherokee           = `[\p{Cherokee}]`            //切诺基文
	UnicodeCommon             = `[\p{Common}]`              //普通的,字符不是特定于一个脚本
	UnicodeCoptic             = `[\p{Coptic}]`              //科普特文
	UnicodeCuneiform          = `[\p{Cuneiform}]`           //楔形文字
	UnicodeCypriot            = `[\p{Cypriot}]`             //塞浦路斯文
	UnicodeCyrillic           = `[\p{Cyrillic}]`            //斯拉夫文
	UnicodeDeseret            = `[\p{Deseret}]`             //犹他州文
	UnicodeDevanagari         = `[\p{Devanagari}]`          //梵文
	UnicodeEthiopic           = `[\p{Ethiopic}]`            //衣索比亚文
	UnicodeGeorgian           = `[\p{Georgian}]`            //格鲁吉亚文
	UnicodeGlagolitic         = `[\p{Glagolitic}]`          //格拉哥里文
	UnicodeGothic             = `[\p{Gothic}]`              //哥特文
	UnicodeGreek              = `[\p{Greek}]`               //希腊
	UnicodeGujarati           = `[\p{Gujarati}]`            //古吉拉特文
	UnicodeGurmukhi           = `[\p{Gurmukhi}]`            //果鲁穆奇文
	UnicodeHan                = `[\p{Han}]`                 //汉文
	UnicodeHangul             = `[\p{Hangul}]`              //韩文
	UnicodeHanunoo            = `[\p{Hanunoo}]`             //哈鲁喏文
	UnicodeHebrew             = `[\p{Hebrew}]`              //希伯来文
	UnicodeHiragana           = `[\p{Hiragana}]`            //平假名(日语)
	UnicodeInherited          = `[\p{Inherited}]`           //继承前一个字符的脚本
	UnicodeKannada            = `[\p{Kannada}]`             //坎那达文
	UnicodeKatakana           = `[\p{Katakana}]`            //片假名(日语)
	UnicodeKayahLi            = `[\p{Kayah_Li}]`            //克耶字母
	UnicodeKharoshthi         = `[\p{Kharoshthi}]`          //卡罗须提文
	UnicodeKhmer              = `[\p{Khmer}]`               //高棉文
	UnicodeLao                = `[\p{Lao}]`                 //老挝文
	UnicodeLatin              = `[\p{Latin}]`               //拉丁文
	UnicodeLepcha             = `[\p{Lepcha}]`              //雷布查文
	UnicodeLimbu              = `[\p{Limbu}]`               //林布文
	UnicodeLinearB            = `[\p{Linear_B}]`            //B类线形文字(古希腊)
	UnicodeLycian             = `[\p{Lycian}]`              //利西亚文
	UnicodeLydian             = `[\p{Lydian}]`              //吕底亚文
	UnicodeMalayalam          = `[\p{Malayalam}]`           //马拉雅拉姆文
	UnicodeMongolian          = `[\p{Mongolian}]`           //蒙古文
	UnicodeMyanmar            = `[\p{Myanmar}]`             //缅甸文
	UnicodeNewTaiLue          = `[\p{New_Tai_Lue}]`         //新傣仂文
	UnicodeNko                = `[\p{Nko}]`                 //Nko文
	UnicodeOgham              = `[\p{Ogham}]`               //欧甘文
	UnicodeOlChiki            = `[\p{Ol_Chiki}]`            //桑塔利文
	UnicodeOldItalic          = `[\p{Old_Italic}]`          //古意大利文
	UnicodeOldPersian         = `[\p{Old_Persian}]`         //古波斯文
	UnicodeOriya              = `[\p{Oriya}]`               //奥里亚文
	UnicodeOsmanya            = `[\p{Osmanya}]`             //奥斯曼亚文
	UnicodePhagsPa            = `[\p{Phags_Pa}]`            //八思巴文
	UnicodePhoenician         = `[\p{Phoenician}]`          //腓尼基文
	UnicodeRejang             = `[\p{Rejang}]`              //拉让文
	UnicodeRunic              = `[\p{Runic}]`               //古代北欧文字
	UnicodeSaurashtra         = `[\p{Saurashtra}]`          //索拉什特拉文(印度县城)
	UnicodeShavian            = `[\p{Shavian}]`             //萧伯纳文
	UnicodeSinhala            = `[\p{Sinhala}]`             //僧伽罗文
	UnicodeSundanese          = `[\p{Sundanese}]`           //巽他文
	UnicodeSylotiNagri        = `[\p{Syloti_Nagri}]`        //锡尔赫特文
	UnicodeSyriac             = `[\p{Syriac}]`              //叙利亚文
	UnicodeTagalog            = `[\p{Tagalog}]`             //塔加拉文
	UnicodeTagbanwa           = `[\p{Tagbanwa}]`            //塔格巴努亚文
	UnicodeTaiLe              = `[\p{Tai_Le}]`              //德宏傣文
	UnicodeTamil              = `[\p{Tamil}]`               //泰米尔文
	UnicodeTelugu             = `[\p{Telugu}]`              //泰卢固文
	UnicodeThaana             = `[\p{Thaana}]`              //塔安那文
	UnicodeThai               = `[\p{Thai}]`                //泰文
	UnicodeTibetan            = `[\p{Tibetan}]`             //藏文
	UnicodeTifinagh           = `[\p{Tifinagh}]`            //提非纳文
	UnicodeUgaritic           = `[\p{Ugaritic}]`            //乌加里特文
	UnicodeVai                = `[\p{Vai}]`                 //瓦伊文
	UnicodeYi                 = `[\p{Yi}]`                  // 彝文
)

Unicode类

Variables

This section is empty.

Functions

This section is empty.

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL