正则表达式说明

13 万字 C 语言从入门到精通保姆级教程2021 年版 友情提示:先关注收藏,再查看,13 万字保姆级 C 语言从入门到精通教程。 文章目录 计算机常识 什么是计算机程序 ? 什么是计算机语言 ? 常见的计算机语言类型有哪些 ? 什么是C语言? C语言历史 C语言标准 C语言现状 为什么要学习C语言? 如何学好C语言 工欲善其事必先利其器 编写C语言程序用什么工具 ? 什么是Qt Creator ? Qt Creator安装 什么是环境变量? 为什么要配置系统变量,不配置用户变量 Qt Creator快捷键 如何创建C语言程序 如何创建C语言文件 C语言. 阅读详情

正则表达式说明(转)

Posted on  2007-07-05 18:53  Lcf 阅读( 6584) 评论( 0)   编辑  收藏

目录

正则表达式介绍
匹配模式

字符子集
行结束符
分组和引用
Unicode支持


正则表达式语法参考
  1. 字符
  2. 逻辑操作符
  3. 向后引用
  4. 边界元字符
  5. 重复指示符
  6. 字符子集
  7. 预定义子集(元字符)
  8. 扩展子集(元字符)
  9. 扩展中文子集(元字符)
  10. POSIX字符子集(只适用于ASCII)
  11. Unicode块和分类

替换表达式
替换表达式
  1. 特殊字符
  2. 自定义替换表

匹配模式

匹配模式指得是正则表达式引擎将以何种模式匹配字符串。
模式名称 启用,禁用 缺省启用 说明
UNIX_LINES (?d)启用,(?-d)禁用 是 启用Unix行模式。
在此模式下,只有 '\n'被认为是行结束符。它会影响., ^, 和 $ 的行为。
CASE_INSENSITIVE (?i)启用,(?-i)禁用 否 启用忽略大小写模式。
缺省时,忽略大小写模式只会影响 ASCII字符的匹配。 而Unicode范围的忽略大小写匹配需要通过 UNICODE_CASE 标志与本标志联合使用。
启用此模式会影响匹配性能。
COMMENTS (?x)启用,(?-x)禁用 否 允许空格和注释出现在正则表达式中。
在此模式下,空格被忽略,以#开始的单行注释被忽略。 
MULTILINE (?m)启用,(?-m)禁用 是 启用多行模式。
In multiline mode the expressions ^ and $ match just after or just before, respectively, a line terminator or the end of the input sequence. By default these expressions only match at the beginning and the end of the entire input sequence. 
DOTALL (?s)启用,(?-s)禁用 否 让.可以匹配行结束符。
在此模式下,元字符.可以匹配行结束符。缺省不允许如此匹配。

UNICODE_CASE (?u)启用,(?-u)禁用 否 Enables Unicode-aware case folding.
When this flag is specified then case-insensitive matching, when enabled by the CASE_INSENSITIVE flag, is done in a manner consistent with the Unicode Standard. By default, case-insensitive matching assumes that only characters in the US-ASCII charset are being matched. 启用此模式会影响性能。
CANON_EQ (?c)启用,(?-c)禁用 否 Enables canonical equivalence.
When this flag is specified then two characters will be considered to match if, and only if, their full canonical decompositions match. The expression "a\u030A", for example, will match the string "?" when this flag is specified. By default, matching does not take canonical equivalence into account. 
启用此模式会影响性能。


字符子集

字符子集可以含有别的字符子集,并且可以通过联合操作符(缺省)和交集操作符(&&)实现组合。联合操作符表示某个子集匹配它的子子集所匹配的任意字符。交集操作符表明某个字符子集只匹配它的子子集都匹配的字符。
字符子集所能够有的操作符的优先级如下,从高到低:
  1. 转义符\x
  2. 成组符 [...]
  3. 区间符 a-z
  4. 联合符 [a-e][i-u]
  5. 交集符 [a-z&&[aeiou]]
注意:在字符子集[]内部的语法根本不同于正则表达式其它部分中的语法。例如,在字符子集内部,正则表达式 . 失去了它原有的含义,而是成了一个匹配.的元字符。 

行结束符

行结束符是一个或两个字符序列,用以表明输入字符序列中一行的结束。下面的字符被认为是行结束符:
  • 一个换行符('\n')。
  • 一个回车符加上一个换行符("\r\n")。
  • 一个单独的回车符('\r')。
  • 代表下一行的字符('\u0085')。
  • 行分隔符('\u2028'),Unicode中被定义。
  • 一个分段符('\u2029),Unicode中被定义。
如果 UNIX_LINES 模式被启用,则只有换行符被认为是行结束符。
如果 MULTILINE 模式被启用,。

分组和引用

字符分组以它们的左括号的出现顺序来排序。例如在表达式((A)(B(C))),有四个分组:
  1. ((A)(B(C)))
  2. (A)
  3. (B(C))
  4. (C)
第0组永远表示表达式本身。
分组采用这样的命名方式,是因为,在一次匹配过程中,正则表达式会被匹配多次。以前的匹配子序列有可能在将来被使用;或者在匹配结束时,程序有可能需要重新获得所有匹配的子字符序列。
对于正则表达式中的某个分组而言,永远只保留最后匹配的字符序列。如果对某个分组匹配尝试失败,则会保留上次匹配成功的字符序列。例如,对于正则表达式(a(b)?)+而言,字符序列"aba",将会让分组2匹配的字符序列为"b"。
以(?开始的分组,将不会计入分组数目,也不会被后续匹配所引用。

Unicode支持

本正则表达式匹配引擎的实现遵循了《 Unicode技术报告:Unicode正则表达式指南》,实现了该指南的第二层所需的功能,但是在细微处有一些简单语法修改。
Unicode块(Block)和分类(Category)通过\p和\P通配苻表示。\p{ prop}匹配含有 prop的输入序列,而\P{ prop}匹配不含有 prop的输入序列。Unicode块通过前缀 In表示,如\p{InMongolian}。Unicode分类通过可选的前缀Is表示,因此\p{L}和\p{IsL}都代表Unicode分类 letters。Unicode块和分类都可以在正则表达式子集外部和内部使用。
目前支持的Unicode块和分类是《 Unicode标准,第三版》中所指定的块和分类。 Unicode块名称在《 Unicode 字符数据库》的第14章被定义,文件名称叫 Blocks-3.txt,但是名称中的空格被去掉了。例如"Basic Latin"成了"BasicLatin"。无论是标准化的还是非标准化的分类,都在该标准的第88页的第4-5表中被全部定义。

与Perl 5正则表达式语法对比

[TBD]


正则表达式参考



字符

正则表达式字符串 匹配的字符串
X 字符X,包括 CJK ExtB 区汉字
\\ 反斜杠\
\0n 八进制0n代表的字符(0<=n<=7)
\0nn 八进制0nn代表的字符(0<=n<=7)
\0mnn 八进制0mnn代表的字符(0<=m<=3,0<=n<=7)
\xhh 十六进制 0xhh所代表的字符
\uhhhh 十六进制 0xhhhh所代表的字符。注意,目前尚不支持CJK ExtB区汉字。
\t 制表符('\u0009')
\n 换行('\u000A')
\r 回车('\u000D')
\a 响铃符('\u0007')
\e 取消符Escape('\001B')
\cx x所代表的控制字符

逻辑操作符

正则表达式字符串 匹配的字符串
XY X后面跟随Y
X|Y X或者Y
(X) X作为分组表达式

向后引用

正则表达式字符串 匹配的字符串
\n 第n个匹配的分组

边界元字符

边界字符 匹配的字符串
^ 行首
$ 行末
\b 字符边界
\B 非字符边界
\A 输入流的开始
\G 上次匹配的结束处
\Z 输入流的结束,或者是最后一个行结束符,参见行结束符。
\z 输入流的结束

重复指示符

正则表达式字符串 匹配的字符串
X? X重复一次,或者不重复
X* X重复0次或多次
X+  X重复1次或多次
X{n} X重复n次,不多也不少。
X{n,} X至少重复n次
X{n,m} X至少重复n次,至多重复m次。
注: X{n,m}、?、*、+方式可以联合使用。

字符子集

正则表达式字符串子集 匹配的字符串 组合方式
[abc] 字符a,b或c,包括 CJK ExtB 区汉字 简单子集
[^abc] 任意非a,b或c的字符。 排除
[a-zA-Z] 从a到z,或者A到Z,包含a,z,A,Z。 区间
[a-d[m-p]] 从a到d,或者m到p,等于[a-dm-p]。 联合
[a-z&&[def]] d,e或者f。 交集
[a-z&&[^bc]] 从a到z,除了b和c,等于[ad-z] 扣除
[a-z&&[^m-p]] 从a到z,并且不包括从m到p,等于[a-lq-z] 扣除

预定义子集(元字符)

边界字符 匹配的字符串
. 任意字符,可能匹配行结束符。
\d 数字[0-9]
\D 非数字[^0-9]
\s 空白符[ \t\n\x0B\f\r]
\S 非空白符[^\s]
\w 单词符,包含有字母和数字[a-zA-Z_0-9]
\W 非单词符,不包含有字母和数字。

扩展子集(元字符)

正则表达式字符串 匹配的字符串
   


扩展中文子集(元字符)

名称 块名称(\p{InXXX}) 简化通配符 标准Unicode块,或者汉字列表
任意双字节字符(汉字或全角符号) \p{InQuqnJiao} \E 任意由GBK表示的汉字,不包括GB18030扩展部分,
以及CJK ExtB区的汉字。
任意单字节字符 \p{InFQuanJiao} \~E 任意单字节字符。
任意全角ASCII字符 \p{InQJAscii} \H 标准HalfwidthandFullwidthForms块
任意收录在BIG5码集中的双字节字符 \p{InBig5} \I Big5可编码双字节字符
匹配未收录在BIG5码集中的双字节字符 \p{InFBig5} \~I 非Big5可编码双字节字符
匹配任意汉字(不包括符号) \p{InHanziOrCJKExtB} \X 任意汉字,包括GB18030扩展部分。
匹配任意汉字(不包括符号) \p{InHanzi} \M 任意汉字,不包括GB18030扩展部分。
匹配非汉字的双字节字符 \p{InFHanzi} \~M 任意非汉字的双字节字符,
包括GB18030扩展部分。
地支字符 \p{InDiZhi} \U 子丑寅卯辰巳午未申酉戌亥
匹配收录在GB码集中的双字节字符 \p{InGB} \g 收录在GB码集中的双字节字符,
不包括GB18030扩展部分。
匹配非收录在GB码集中的双字节字符 \p{InFGB} \~g 未收录在GB码集中的双字节字符,
不包括GB18030扩展部分。
匹配收录在GBK码集中的双字节字符 \p{InGBK} \h 收录在GBK码集中的双字节字符,
不包括GB18030扩展部分。
匹配非收录在GBK码集中的双字节字符 \p{InFGBK} \~h 未收录在GBK码集中的双字节字符,
不包括GB18030扩展部分。
大写希腊字母 \p{InDaXila} \K ΑΒΓΔΕΖΗΘΙΚΛΜΝ
ΞΟΠΡΣΤΥΦΧΨΩ
日文片假名 \p{InPianJia} \j 标准Katakana块
日文平假名 \p{InPingJia} \J 标准Hiragana块
小写希腊字母 \p{InXiaoXila} \k αβγδεζηθικλμν
ξοπρστυφχψω
数学符号 \p{InMathe} \m ±×÷∶∧∨∑∏∪∩∈∷√⊥∥∠⌒⊙
∫∮≡≌≈∽∝≠≮≯≤≥∞∵∴
中文数字 \p{InCnDigit} \i 〇一二三四五六七八九十百千万亿兆吉京
大写中文数字 \p{InDaCnDigit} \N 零壹贰叁肆伍陆柒捌玖拾佰仟萬亿兆吉京
全角标点符号 \p{InQJBiaoDian} \o 、。·ˉˇ¨〃々—~‖…‘’“”〔〕
〈〉《》「」『』〖〗【】!"'(),
-.:;<=>?[]{|}`﹉﹊﹋﹌﹍﹎﹏﹐﹑﹒﹔﹕﹖﹗﹙﹚
﹛﹜﹝﹞︵︶︹︺︿﹀︽︾﹁﹂﹃﹄
︻︼︷︸︱︳︴
小写俄文字母 \p{InXiaoEWen} \l абвгдеёжзийклмн
опрстуфхцчшщъыьэюя
大写俄文字母 \p{InDaEWen} \R АБВГДЕЁЖЗИЙКЛМНО
ПРСТУФХЦЧШЩЪЫЬЭЮЯ
中文序号 \p{InCnSN} \q ⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ
ⅰⅱⅲⅳⅴⅵⅶⅷⅸⅹ
再加上Unicode标准EnclosedAlphanumerics块
天干字符 \p{InTianGan} \T 甲乙丙丁戊己庚辛壬癸
竖排标点符号 \p{InSPBiaoDian} \V ︵︶︹︺︿﹀︽︾﹁﹂﹃﹄︻︼︷︸︱︳︴
拼音字符 \p{InPinyin} \y āáǎàēéěèīíǐìōóǒòūúǔùǖǘǚǜüêɑńňɡ
GBK -> 0xA8A1- 0xA8C0
只是Unicode标准LatinExtended-A块的一部分。
注音字符 \p{InZhuyin} \Y 标准Bopomofo块
制表字符 \p{InZhiBiao} \C 标准BoxDrawing块。
经检查发现 textpro 的算法含有部分非标
准Unicode制表符:“∟∣≒≦≧⊿═”。

POSIX字符子集(只适用于ASCII)

正则表达式字符串 匹配的字符串
\p{Lower} 小写字母[a-z]
\p{Upper} 大写字母[A-Z]
\p{ASCII} 所有的ASCII字符[\x00-\x7F]
\p{Alpha} 大小写字母[\p{Lower}\p{Upper}]
\p{Digit} 数字[0-9]
\p{Alnum} 字母数字符,包含大小写字母和数字[\p{Alpha}\p{Digit}]
\p{Punct} 标点符号,!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~之一。
\p{Graph} 可显示字符[\p{Alnum}\p{Punct}]
\p{Print} 可打印字符[\p{Graph}]
\p{Blank} 空格或者制表符[ \t]
\p{Cntrl} 控制字符[\x00-\x1F\x7F
\p{XDigit} 十六进制数字[0-9a-fA-F]
\p{Space} 空白符[ \t\n\x0B\f\r]

Unicode块和分类

块 中文名称(摘自Word XP) 代码区域
BasicLatin 基本拉丁语 \u0000-\u007F
Latin-1Supplement 拉丁语-1 \u0080-\u00FF
LatinExtended-A 拉丁语扩充-A \u0100-\u017F
LatinExtended-Bound 拉丁语扩充-B \u0180-\u024F
IPAExtensions 国际音标扩充 \u0250-\u02AF
SpacingModifierLetters 进格的修饰字符 \u02B0-\u02FF
CombiningDiacriticalMarks 组合用发音符 \u0300-\u036F
Greek 基本希腊语 \u0370-\u03FF
Cyrillic 西里尔语 \u0400-\u04FF
Armenian   \u0530-\u058F
Hebrew   \u0590-\u05FF
Arabic   \u0600-\u06FF
Syriac   \u0700-\u074F
Thaana   \u0780-\u07BF
Devanagari   \u0900-\u097F
Bengali   \u0980-\u09FF
Gurmukhi   \u0A00-\u0A7F
Gujarati   \u0A80-\u0AFF
Oriya   \u0B00-\u0B7F
Tamil   \u0B80-\u0BFF
Telugu   \u0C00-\u0C7F
Kannada   \u0C80-\u0CFF
Malayalam   \u0D00-\u0D7F
Sinhala   \u0D800-\uDFF
Thai   \u0E00-\u0E7F
Lao   \u0E80-\u0EFF
Tibetan 藏语 \u0F00-\u0FFF
Myanmar   \u1000-\u109F
Georgian   \u10A0-\u10FF
HangulJamo   \u1100-\u11FF
Ethiopic   \u1200-\u137F
Cherokee   \u13A0-\u13FF
UnifiedCanadianAboriginalSyllabics   \u1400-\u167F
Ogham   \u1680-\u169F
Runic   \u16A0-\u16FF
Khmer   \u1780-\u17FF
Mongolian 蒙古语 \u1800-\u18AF
LatinExtendedAdditional   \u1E00-\u1EFF
GreekExtended   \u1F00-\u1FFF
GeneralPunctuation 广义标点 \u2000-\u206F
SuperscriptsandSubscripts   \u2070-\u209F
CurrencySymbols 货币符号 \u20A0-\u20CF
CombiningMarksforSymbols   \u20D0-\u20FF
LetterlikeSymbols 类似字母的符号 \u2100-\u214F
NumberForms 数字形式 \u2150-\u218F
Arrows 箭头 \u2190-\u21FF
MathematicalOperators 数学运算符 \u2200-\u22FF
MiscellaneousTechnical 零杂技术用符号 \u2300-\u23FF
ControlPictures   \u2400-\u243F
OpticalCharacterRecognition   \u2440-\u245F
EnclosedAlphanumerics 带括号的字母数字 \u2460-\u24FF
BoxDrawing 制表符 \u2500-\u257F
BlockElements 方块图形 \u2580-\u259F
GeometricShapes 几何图形 \u25A0-\u25FF
MiscellaneousSymbols 零杂丁贝符(示意符等) \u2600-\u26FF
Dingbats   \u2700-\u27BF
BraillePatterns   \u2800-\u28FF
CJKRadicalsSupplement   \u2E80-\u2EFF
KangxiRadicals   \u2F00-\u2FDF
IdeographicDescriptionCharacters   \u2FF0-\u2FFF
CJKSymbolsandPunctuation CJK符号和标点 \u3000-\u303F
Hiragana 平假名 \u3040-\u309F
Katakana 片假名 \u30A0-\u30FF
Bopomofo 注音 \u3100-\u312F
HangulCompatibilityJamo   \u3130-\u318F
Kanbun   \u3190-\u319F
BopomofoExtended 扩展注音 \u31A0-\u31BF
EnclosedCJKLettersandMonths 带括号的CJK字母及月份 \u3200-\u32FF
CJKCompatibility CJK兼容字符 \u3300-\u33FF 
CJKUnifiedIdeographsExtensionA CJK统一汉字扩展-A \u3400-\u4dBF
CJKUnifiedIdeographs CJK统一汉字 \u4E00-\u9fAF
YiSyllables   \uA000-\uA48F
YiRadicals   \uA490-\uA4CF
HangulSyllables   \uAC00-\uD7A3
HighSurrogates   \uD800-\uDB7F
HighPrivateUseSurrogates   \uDB80-\uDBFF
LowSurrogates   \uDC00-\uDFFF
PrivateUse 专用区 \uE000-\uF8FF
CJKCompatibilityIdeographs CJK兼容汉字 \uF900-\uFAFF
AlphabeticPresentationForms   \uFB00-\uFB4F
ArabicPresentationForms-A   \uFB50-\uFDFF
CombiningHalfMarks   \uFE20-\uFE2F
CJKCompatibilityForms CJK兼容形式 \uFE30-\uFE4F
SmallFormVariants 小写变体 \uFE50-\uFE6F
ArabicPresentationForms-Bound   \uFE70-\ufeFF
Specials   \uFFF0-\uFFFF
HalfwidthandFullwidthForms 半形及全形字符 \uFF00-\uFFEF


分类 全称 说明
Cn   UNASSIGNED
Lu   UPPERCASE_LETTER
Ll   LOWERCASE_LETTER
Lt   TITLECASE_LETTER
Lm   MODIFIER_LETTER
Lo   OTHER_LETTER
Mn   NON_SPACING_MARK
Me   ENCLOSING_MARK
Mc   COMBINING_SPACING_MARK
Nd   DECIMAL_DIGIT_NUMBER
Nl   LETTER_NUMBER
No   OTHER_NUMBER
Zs   SPACE_SEPARATOR
Zl   LINE_SEPARATOR
Zp   PARAGRAPH_SEPARATOR
Cc   CNTRL
Cf   FORMAT
Co   PRIVATE_USE
Cs   SURROGATE
Pd   DASH_PUNCTUATION
Ps   START_PUNCTUATION
Pe   END_PUNCTUATION
Pc   CONNECTOR_PUNCTUATION
Po   OTHER_PUNCTUATION
Sm   MATH_SYMBOL
Sc   CURRENCY_SYMBOL
Sk   MODIFIER_SYMBOL
So   OTHER_SYMBOL
L   LETTER
M   MARK
N   NUMBER
Z   SEPARATOR
C   CONTROL
P   PUNCTUATION
S   SYMBOL
LD   LETTER_OR_DIGIT
L1   Latin-1
all   ALL
ASCII   ASCII
Alnum   字母数字(0-9,a-z,A-Z)
Alpha   字母(a-z,A-Z)
Blank   空格和制表符(' '|\t)
Cntrl   控制字符,不可打印
Digit   数字(0-9)
Graph   可打印且可视字母(例如空格' '是可打印的但不是可视字母,而 `a' 两者都是。)
Lower   小写字母
Print   可打印字母(非控制字符)
Punct   标符号(字母、数字、控制、空白符以外的字母),如:!@#$%}{<>,./?[]等等。
Space   空白符(' ',\t,0x09,0x0A,0x0B,0x0C,0x0D,0x20)
Upper   大写字母
XDigit   十六进制数字(0-9,a-f, A-F)





替换表达式

特殊字符
特殊字符介绍 描述
\n 换行
\b 向前删除一个字符。当这个字符位于替换串之首时,将删除匹配串之前的一个字符。若匹配串位于行首,将使匹配串所在行与前一行相合并。
\d 向后删除一个字符。当这个字符位于替换串之末时,将删除匹配串之后的一个字符。若匹配串位于行末,将使匹配串所在行与下一行相合并。
\e 插入一个ESC字符
\t 插入一个TAB字符
\n n代表查找正则表达式中的子表达式(组)。\1代表第一个子表达式,\2代表第二个子表达式,依次类推。\0代表整个匹配到的字符串。
\v 大写下一个字母
\U 全部大写以后的字母,直到碰到其它指示符为止。
\l 小写下一个字母
\L 全部小写以后的字母,直到碰到其它指示符为止。
\E 取消所有的字母大小写指示符。


自定义替换表

在查找/替换中使用自定义替换表 
有的时候,上述简单的自定义替换功能是不够的。例如,用户可能希望只把出现在括号内的源串替换为目标串。这种文本处理可以通过在查找/替换中使用自定义替换表来解决。 

在查找/替换功能中使用自定义替换表的替换函数是\Tn,其中n是0-9的数字, 注意n为0表示第10张替换表。如果略去n,其效果相当于\T1,即使用第一张替换表。例如要把所有放在方括号中的汉字替换为拼音,可以查找“\[(\E)\]”,替换为“\T{\1}”。即把第一个子表达式的匹配内容按自定义替换表转换。注意,如果\T函数的参数不在替换表的源串中,\T函数的结果与源串相同,即不做任何变换。 

有些情况下,用户可能希望只使用替换表的一部分内容。还是以拼音为例,前面给出的替换表中包含了拼音的音调,如果在替换时不希望加上这些音调数字,可以使用“过滤”功能。所谓过滤,其实是用一个正则表达式去分析替换表的目标串,并把其中的某个子表达式取出来。 

使用“过滤”时,在“设置自定义替换表”对话框中,点“过滤”按钮,在弹出的对话框中填入一个正则表达式。再以拼音为例,表达式可以写为“(\p{Alpha}+)(\d)”,其中第一对括号中的是不含音调的拼音,第二对括号是音调。在调用\T函数时,JTextPro会在目标串中查找这个正则表达式。但是如何把其中的子表达式取出来呢?\T函数还有一个可选的下标,取第n个子表达式的值就写作\T{...}[n]。所以,把放在方括号中的汉字替换为不带调的拼音,可以查找“\[(\E)\]”,替换为“\T{\1}[1]” 
C# 正则表达式的详细使用说明 正则表达式是一种用于匹配文本模式的工具。它是由普通字符(例如字母、数字)和特殊字符(称为元字符)组成的字符串模式。 阅读详情

相关推荐

NS-3 和Aqua-sim-ng 学习笔记(一)

因为要搞水下网络,OMNET++不太合适,就转Aqua-sim。这是基于NS-2上的模型,NS-2需要额外学一门tcl脚本语言。 正好查到它的一个升级版Aqua-sim-NG,在github上,https://github.com/rmartin5/aqua-sim-ng是基于NS-3的,只需要基本的C++,不用学tcl语言。美滋滋。 装好ubuntu之后,安装NS-3和Aqu...

diboshang8820的博客 2191

正则表达式介绍

目录 正则表达式介绍 匹配模式 字符子集 行结束符 分组和引用 Unicode支持 正则表达式语法参考 字符 逻辑操作符 向后引用 边界元字符 重复指示符 字符子集 预定义子集(元字符) 扩展子集(元字符) 扩展中文子集(元字符) POSIX字符子集(只适用于ASCII) Unicode块和分类 替换表达式 替换表达式...

暗里着迷 634

dpdk 源码分析 rte_ring

rte_ring源码分析

qq_40843445的博客 930

【符号输入】打出撇号′

打出撇号′ 剑号†‡

Juruo@Security 9万+

iOS面试题大全(附带答案)

C语言相关面试题 1.static有什么用途? 答案:在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数。 static 属于静态变量,使用它修饰的变量生命周期是整个源程序。 @1.在函数体内的 static 变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值; @2.在模块内的 static 全局变量可以被模块内所有函数访问,但不能被模块外其它函数访问; @3.在模块内的 static 函数只被这一模块内的其它函数调用,这个函数的使用范围被限

IOSNF的博客 2426

基于Requests的百度图片搜索爬取技术详解

本文介绍了一种高效获取百度图片搜索数据的混合请求爬虫技术。该技术结合HTML解析与JSON API调用,通过分析百度图片搜索的网络通信模式,实现了首页HTML解析获取初始参数、后续页面直接调用JSON接口的双重机制。系统采用模块化设计,包含Cookies解析、智能请求分发、数据提取、图片下载等核心模块,支持自定义关键词和爬取页数配置。关键技术包括动态参数管理、正则表达式提取、JSON数据处理等,相比传统爬虫方法具有效率高、资源消耗低的优势,为计算机视觉研究提供了可靠的大规模图片数据采集方案。

那些看似不起波澜的日复一日,会在某天让你看到坚持的意义 423

Python 正则表达式

字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。 $ 匹配输入字符串的结束位置。如果设置了RegExp 对象的 Multil

Looking的网页备忘录和个人知识库 1465

45、数据挖掘学术文献推荐

本文是一篇关于数据挖掘领域的重要学术文献推荐,涵盖了经典理论与最新研究成果。内容包括关键研究论文、综述文章、教科书和专著的介绍,以及来自顶级会议和期刊的出版物推荐。此外,还探讨了数据挖掘与其他领域的交叉研究,如机器学习、统计学和数据库系统,并列举了多个实际应用案例。最后,分析了数据挖掘的未来发展趋势,如更加智能化的算法、高效的计算平台及隐私保护技术。无论是初学者还是专业人士,这些文献都将提供宝贵的学习资源和前沿动态。

qsc90123456的博客 230

gbk 编码表

GBK编码范围:8140-FEFE,汉字编码范围见第二节:码位分配及顺序。 GBK编码,是对GB2312编码的扩展,因此完全兼容GB2312-80标准。GBK编码依然采用双字节编码方案,其编码范围:8140-FEFE,剔除xx7F码位,共23940个码位。共收录汉字和图形符号21886个,其中汉字(包括部首和构件)21003个,图形符号883个。GBK编码支持国际标准ISO/IEC10646

AI 前沿技术实战博客:LLM / Agent / AI 制药 / 生信四大栏目日更,硬核干货 + 可复现代码,看完就能上手 28万+

24. SAP 标准产品里使用 OData 服务的一些细节分享

笔者在编写使用事物码 SEGW 开发 SAP OData 服务的系列步骤时,但凡遇到技术上一些疑难问题,喜欢去参照 SAP 标准产品里是如何使用 OData 服务的,不少问题都可以去参考 SAP 标准产品的 OData 服务实现细节来解决。 因此本文记录笔者在编写本教程的过程中,曾经研究过的 SAP OData 服务实现的一些细节,把这些细节分享给大家,希望能起到参考作用。 同时,教程也不断收到一些朋友在评论区留言,对于不少留言的回复,我也是拿 SAP 标准 OData 服务的实现作为论据来回复的。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 2035

Vue3 - 详细实现虚拟列表前端虚拟滚动列表解决方案,vue3长列表优化之虚拟列表,解决列表动态高度不固定高度及图片视频图文异步请求加载问题,虚拟列表DOM大量数据同时加载渲染卡顿太慢及下滑列表闪烁

vue3,vue3虚拟列表,用vue3实现一个虚拟列表,长列表高度不一致如何实现虚拟滚动加载列表,虚拟列表有图片视频,图文列表,上万条数据同时渲染解决,长列表dom渲染太卡,列表滚动条加载超多数据,瀑布流,在Vue3中如何实现列表的虚拟滚动,虚拟列表滑动白屏闪烁闪一下,虚拟列表每个项的高度不确定,可动态改变高度,vue3虚拟滚动列表,页面数据太多加载很慢怎么办,vue3实现不定高的虚拟列表,定高和不定高,虚拟列表非固定高度,vue3长列表优化之虚拟列表实现,vue3虚拟列表高度不固定,用vue3实现一个虚拟

🏆 前端领域优质创作者 1万+

正则表达式之全部字符介绍说明【正则表达式符号说明汇总】

正则表达式之全部字符介绍说明【正则表达式符号说明汇总】 字符 描述 \ 将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符。例如,'n' 匹配字符 "n"。'\n' 匹配一个换行符。序列 '\\' 匹配 "\" 而 "\(" 则匹配 "("。 ^ 匹配输入字符串的开始位置。如果设置了 RegExp 对象的 Multiline 属性,^ ...

云度 898

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

python正则表达式--参数说明

match用法 一般在写正则表达式的时候都在正则表达式 这里用个r match方法 从左到右匹配 # 从左往右匹配 全有那就认为匹配成功 result = re.match(r"itcast","itcastitheima") result.group() "itcast" *****************************************...

xiao-啸 326

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Linux grep 使用正则表达式说明

是否需要反斜杠取决于你使用的正则标准。在 POSIX BRE 中,必须用反斜杠转义才能表示“一个或多个”。在 POSIX ERE 和 PCRE 中,直接表示“一个或多个”,无需转义。中括号[]是字符类的表示方式,在所有标准中都保持一致,不需要转义。如果你想避免混淆,可以使用grep -E或grep -P,因为它们允许直接使用?()等元字符,而不需要添加反斜杠进行转义,这样编写正则表达式会更加直观。

sz66cm 学习随笔 2336

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

正则表达式解析与功能说明

该正则表达式的作用是匹配形如的字符串格式。

Thinking In Java 715

40个常用正则表达式,附带用法说明

正则表达式是一种强大的工具,用于模式匹配和文本处理。通过掌握常用的正则表达式及其应用,你可以高效地处理各种文本数据。结合 Python 的re模块,可以在实际项目中灵活运用正则表达式,解决复杂的数据处理问题。

sloan13的博客 6029

正则表达式使用说明

正则表达式

m0_51055743的博客 428

正则表达式基础说明

java正则表达式

Macrohua的博客 490

正则表达式 部分元字符说明?=

正则表达式中,(?=.*) (?&lt;=.*) (?&lt;!) (?:) 表达式说明: (pattern) 匹配 pattern 并获取这一匹配。所获取的匹配可以从产生的 Matches 集合得到,在VBScript 中使用 SubMatches 集合,在JScript 中则使用 $0…$9 属性。要匹配圆括号字符,请使用 '\(' 或 '\)'。 (?:patt...

Liam1994的博客 534

正则表达式的基础说明与介绍

正则表达式通常被用来检索,替换那些符合某个模式的文本,许多程序设计语言都支持利用正则表达式进行字符串的操作,但是写法和支持程度上有所不同。 概念:正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符及这些特定字符的组合组成一个规则字符串,这个规则字符串用来表达对字符串的一种过滤逻辑,主要用来验证、搜索和替换,验证和搜索用到较多(摘抄)。 正则表达式有两种形式一是纯文本 二是代码语...

weixin_44546452的博客 431

最全的正则表达式说明

1 运算符 “表达式”属性支持以下正则表达式运算符: 表达式 说明 . 指示任何字符。 \ 指示后面的字符应按原义而不是作为特殊字符进行解释。例如,\. 指示“.”。 () 将括号内的运算符分组。

郁闷之春的专栏 2578

正则表达式简单使用说明

2019独角兽企业重金招聘Python工程师标准>>> ...

weixin_34220834的博客 124
上一篇: JavaScript 计时事件
下一篇: 怎么解决tomcat占用8080端口问题图文教程 端口被占用
ole_triangle_java
博客等级 码龄10年 82粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值