c++ 正则表达式

Submitted by lepton on Wed, 12/26/2018 - 13:47

Tags

1.      “.”: 匹配除"\n"之外的任何单个字符,若要匹配包括"\n"在内的任意字符,需使用诸如"[\s\S]"之类的模式;

2.       “^”:匹配输入字符串的开始位置,不匹配任何字符,要匹配”^”字符本身,需使用”\^”;

3.      “$”:匹配输入字符串结尾的位置,不匹配任何字符,要匹配”$”字符本身,需使用”\$”;

4.      “*”: 零次或多次匹配前面的字符或子表达式,”*”等效于”{0,}”,如”\^*b”可以匹配”b”、”^b”、”^^b”、…;

5.      “+”: 一次或多次匹配前面的字符或子表达式,等效于”{1,}”,如”a+b”可以匹配”ab”、”aab”、”aaab”、…;

6.      “?”: 零次或一次匹配前面的字符或子表达式,等效于”{0,1}”,如”a[cd]?”可以匹配”a”、”ac”、”ad”; 当此字符紧随任何其他限定符”*”、”+”、”?”、”{n}”、”{n,}”、”{n,m}”之后时,匹配模式是"非贪心的"。"非贪心的"模式匹配搜索到的、尽可能短的字符串,而默认的"贪心的"模式匹配搜索到的、尽可能长的字符串。如,在字符串"oooo"中,"o+?"只匹配单个"o",而"o+"匹配所有"o";

boost install with cxx14 support

Submitted by lepton on Wed, 10/24/2018 - 15:13

by default boost has build with cxx11 support on mac 10.13 high sierra with xcode 9.4

to avoid link errors with c++14,it should build with c++14 support

./bootstrap.sh  --prefix=path

./b2 link=static cxxflags="-std=c++14" -d+2 stage

// ./b2 .....

//./b2 install

 

//on gentoo may has    error: "none" is not a known value of feature

//this because boost installed and the file /usr/share/boost-build/site-config.jam

//add this --ignore-site-config

gentoo l2tp ipsec client

Submitted by lepton on Wed, 05/23/2018 - 16:38

Tags

###connect to unbutu strongswan xl2tpd

emerge libreswan xl2tpd

/etc/ipsec.d/xxx.conf

conn xxx
    authby=secret
    pfs=no
    rekey=no
    keyingtries=3
    type=transport
    left=%defaultroute
    leftprotoport=udp/l2tp
    leftid=@vpn.l2tp
    right=8.8.9.9 # internet ip
    rightid=10.0.1.2 #
    rightprotoport=udp/l2tp
    auto=add

 

/etc/ipsec.d/xxx.secrets

@vpn.l2tp %any : PSK "******"

 

/etc/xl2tpd/xl2tpd.conf

Ubuntu 16.04 l2tp ipsec

Submitted by lepton on Wed, 05/23/2018 - 08:38

sudo apt-get install strongswan xl2tpd ppp

/etc/ipsec.conf

conn L2TP-PSK

type=transport

authby=psk

keyexchange=ikev1

keyingtries=3

rekey=no

left=192.168.5.105 use local ip

right=%any

auto=add

/etc/ipsec.secrets

: PSK "12345678"

/etc/xl2tpd/xl2tpd.conf

[lns default] ; Our fallthrough LNS definition

ip range = 192.168.2.2-192.168.2.20 ; * Allocate from this IP range

local ip = 192.168.2.1 ; * Our local IP to use