C++ åèæå
- C++11
- C++14
- C++17
- C++20
- C++ ç¼è¯å¨æ¯ææ åµè¡¨
- ç¬ç«ä¸å®¿ä¸»å®ç°
- C++ è¯è¨
- C++ å ³é®è¯
- é¢å¤çå¨
- C++ æ ååºå¤´æä»¶
- å ·åè¦æ±
- åè½ç¹æ§æµè¯ (C++20)
- å·¥å ·åº
- ç±»åæ¯æï¼åºæ¬ç±»åãRTTIãç±»åç¹æ§ï¼
- æ¦å¿µåº (C++20)
- é误å¤ç
- 卿å å管ç
- æ¥æåæ¶é´å·¥å ·
- å符串åº
- 容å¨åº
- è¿ä»£å¨åº
- èå´åº (C++20)
- ç®æ³åº
- æ°å¼åº
- è¾å ¥/è¾åºåº
- æä»¶ç³»ç»åº
- æ¬å°ååº
- æ£å表达å¼åº
- std::basic_regex
- std::basic_regex<CharT,Traits>::basic_regex
- std::basic_regex<CharT,Traits>::~basic_regex
- std::basic_regex<CharT,Traits>::operator=
- std::basic_regex<CharT,Traits>::assign
- std::basic_regex<CharT,Traits>::mark_count
- std::basic_regex<CharT,Traits>::flags
- std::basic_regex<CharT,Traits>::getloc
- std::basic_regex<CharT,Traits>::imbue
- std::basic_regex<CharT,Traits>::swap
- std::basic_regex 常é
- std::swap(std::basic_regex)
- std::basic_regex çæ¨å¯¼æå¼
- std::sub_match
- std::match_results
- std::regex_search
- std::regex_replace
- std::regex_iterator
- std::regex_match
- std::regex_token_iterator
- std::regex_error
- std::regex_traits
- std::regex_constants::syntax_option_type
- std::regex_constants::match_flag_type
- std::regex_constants::error_type
- æ¹ ECMAScript æ£åè¡¨è¾¾å¼ææ³
- 注é
- ååæä½åº
- çº¿ç¨æ¯æåº
- å®éªæ§ C++ ç¹æ§
- æç¨çèµæº
- ç´¢å¼
- std 符å·ç´¢å¼
- åç¨æ¯æ (C++20)
- C++ å ³é®è¯
ä½ç½®ï¼é¦é¡µ > C++ åèæå >æ£å表达å¼åº > std::basic_regex
std::basic_regex
| å®ä¹äºå¤´æä»¶ <regex>
|
||
| template < Â Â class CharT, |
(C++11 èµ·) | |
ç±»æ¨¡æ¿ basic_regex æä¾ä¿ææ£å表达å¼çéç¨æ¡æ¶ã
æä¾å¯¹äºå¸¸è§ç±»åçå 个ç¹åï¼
| å®ä¹äºå¤´æä»¶
<regex> | |
| Â | |
| ç±»å | å®ä¹ |
regex
|
basic_regex<char> |
wregex
|
basic_regex<wchar_t> |
æåç±»å
| Â | |
| æåç±»å | å®ä¹ |
value_type
|
CharT |
traits_type
|
Traits |
string_type
|
Traits::string_type |
locale_type
|
Traits::locale_type |
flag_type
|
std::regex_constants::syntax_option_type |
æå彿°
| æé regex 对象 (å ¬å¼æå彿°) | |
| ææ regex 对象 (å ¬å¼æå彿°) | |
| èµå¼å
容 (å ¬å¼æå彿°) | |
| èµå¼å
容 (å ¬å¼æå彿°) | |
è§å¯å¨ | |
| è¿åæ£å表达å¼ä¸ææ è®°çåè¡¨è¾¾å¼æ°é (å ¬å¼æå彿°) | |
| è¿åè¯æ³æ å¿ (å ¬å¼æå彿°) | |
æ¬å°ç¯å¢ | |
| è·åæ¬å°ç¯å¢ä¿¡æ¯ (å ¬å¼æå彿°) | |
| 设置æ¬å°ç¯å¢ä¿¡æ¯ (å ¬å¼æå彿°) | |
ä¿®æ¹å¨ | |
| 交æ¢å
容 (å ¬å¼æå彿°) | |
常é | |
| Â | |
| å¼ | ææ |
icase
|
åºå½ä»¥ä¸èè大å°åè¿è¡å符å¹é ã |
nosubs
|
è¿è¡å¹é
æ¶ï¼å°ææè¢«æ è®°çåè¡¨è¾¾å¼ (expr) å½åéæ è®°çåè¡¨è¾¾å¼ (?:expr) ãä¸å°å¹é
åå¨äºæä¾ç std::regex_match ç»æä¸ï¼ä¸ mark_count() 为é¶
|
optimize
|
æç¤ºæ£å表达å¼å¼æè¿è¡æ´å¿«çå¹é ï¼å¸¦æä»¤æé åæ ¢çæ½å¨å¼éãä¾å¦è¿å¯è½è¡¨ç¤ºå°éç¡®å® FSA 转æ¢ä¸ºç¡®å® FSA ã |
collate
|
å½¢å¦ "[a-b]" çå符èå´å°å¯¹æ¬å°ç¯å¢ææã |
multiline (C++17)
|
è¥éæ© ECMAScript 弿ï¼åæå® ^ åºè¯¥å¹é
è¡é¦ï¼è $ åºè¯¥å¹é
è¡å°¾ã
|
ECMAScript
|
ä½¿ç¨æ¹ ECMAScript æ£åè¡¨è¾¾å¼ææ³ |
basic
|
使ç¨åºæ¬ POSIX æ£åè¡¨è¾¾å¼ææ³ï¼ææ³ææ¡£ï¼ã |
extended
|
ä½¿ç¨æ©å± POSIX æ£åè¡¨è¾¾å¼ææ³ï¼ææ³ææ¡£ï¼ã |
awk
|
ä½¿ç¨ POSIX ä¸ awk å·¥å ·æç¨çæ£åè¡¨è¾¾å¼ææ³ï¼ææ³ææ¡£ï¼ã |
grep
|
ä½¿ç¨ POSIX ä¸ grep å·¥å
·æç¨çæ£åè¡¨è¾¾å¼ææ³ãè¿çæäº basic é项é带ä½ä¸ºå¦ä¸ç§åéç¬¦çæ¢è¡ç¬¦ '\n' ã
|
egrep
|
ä½¿ç¨ POSIX ä¸ grep å·¥å
·å¸¦ -E é项æç¨çæ£åè¡¨è¾¾å¼ææ³ãè¿çæäº extended é带 '|' ä¹å¤çä½ä¸ºå¦ä¸ç§åéç¬¦çæ¢è¡ç¬¦ '\n' ã
|
ECMAScript, basic, extended, awk, grep, egrep å¿
é¡»éåè³å¤ä¸ä¸ªææ³é项ãè¥ä¸éåææ³é项ï¼å设å®ä¸ºéå ECMAScript ãå
¶ä»é项ä½ä¸ºä¿®é¥°ç¬¦å·¥ä½ï¼ä»è std::regex("meow", std::regex::icase) çä»·äº std::regex("meow", std::regex::ECMAScript|std::regex::icase)
basic_regex ä¸çæå叏鿝å®ä¹äºå½åç©ºé´ std::regex_constants ç syntax_option_type 常éç坿¬ã
éæå彿°
| (C++11) |
ç¹å std::swap ç®æ³ (彿°æ¨¡æ¿) |