Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
Tags
- 정규식 컴파일
- python os
- selinux port 등록
- 1697
- 정규식 활용
- gcc 업데이트
- 정규식 문자열 출력
- centos pyhon 설치
- g++ 업데이트
- semanage
- c++ 정규식
- c3 축 가리기
- CentOS7
- regex_search
- python popen
- c3 축 없애기
- c3 step graph
- InfluxDB
- snmp test
- python subprocess
- influxdb 설치
- 백준
- grafana dashboard
- c3 초
- linux시간으로 변경
- gcc regex
- snmp
- subporcess path
- c3 second
- telegraf
Archives
- Today
- Total
리셋 되지 말자
[g++] 정규식 문자열 찾기 및 찾은 문자열 출력 본문
https://www.sapphosound.com/archives/1653
[C++11] std::regex를 이용해 정규식으로 특정 문자열을 추출해보자! – Roughness Leads To Perfection
Modern C++이라고 보통 부르는 C++11 스펙에 정규식이 추가되었다. 따라서 이전까지는 std::string::find를 이용해 복잡한 조건과 플로우를 조합해야 검색할 수 있던 것들을 정규식으로 간단하게 찾아낼 수 있게 되었다. 하지만 C++에서 정규식을 곧바로 이용하기에는 많은 어려움이 있다. 일단 생긴지도 몇 년 되지 않았고 각종 컴파일러에서 이것을 제대로 지원하게 된 지도 얼마 되지 않아 다양한 상황에 대한 참고자료가 인터넷에 충분히 올라와
www.sapphosound.com
regex_search나 regex_match를 사용하면, 찾기에 성공했는지의 결과만 0,1 로 알수가 있는데, 위의 사이트의 게시물 작성자분의 코드대로 하면 찾은 문자열을 출력할 수 있다...
아래의 코드는 snmp inOctets, outOctets을 파싱하기 위해 내가 수정한 코드
#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main(){
//string s = "IF-MIB::ifInOctets.2 = Counter32: 519940";
//std::regex pattern("([0-9]+)(?!.*[0-9])");
//cout << std::regex_search(s, pattern);
string str = "IF-MIB::ifInOctets.2 = Counter32: 519940\nIF-MIB::ifOutOctets.2 = Counter32: 1317538";
std::regex regexp("([0-9]+)(?!.*[0-9])");
const std::sregex_iterator itEnd;
for (std::sregex_iterator it(str.begin(), str.end(), regexp); it != itEnd; ++it)
{
//for (auto elem : *it) { cout << elem << endl; }
cout << (*it)[1].str() << endl;
}
return 0;
}
'gcc' 카테고리의 다른 글
[g++] 정규식 라이브러리 활용 (0) | 2020.01.28 |
---|---|
[g++, gcc] gcc 버전 업데이트(업그레이드) (0) | 2020.01.28 |
[g++] c++과 influxdb 연동해서 사용하기 (0) | 2020.01.23 |
[g++] popen 결과값 사용하기 (0) | 2020.01.23 |
[g++] C++ header file path (0) | 2020.01.23 |