http://stackoverflow.com/questions/1450897/python-removing-characters-except-digits-from-string
http://games.mobileapi.hupu.com/1/5.1.0/quiz/bet?client=xxx
2、竞猜加注接口
http://games.mobileapi.hupu.com/1/5.1.0/quiz/increase?client=xxx
http://stackoverflow.com/questions/1450897/python-removing-characters-except-digits-from-string
《学习正则表达式》笔记
^从开始匹配
$匹配结束
\d匹配一个任意阿拉伯数字
\D匹配一个非数字字符,等价于[^0-9],又等价于[^\d]
. 匹配任意一个字符,不包含换行和回车
\d{3}表示出现单个数字的3次,花括号里是出现的次数
\d{3,5}表示出现单个数字最小3次,最大5次
? 出现零次或一次
+ 匹配一个或多个,包含换行和回车
* 匹配零个或多个
\w 匹配字母,数字,下划线,等价于[_a-zA-Z0-9]
\W 匹配非\w匹配的字符,等价于[^_a-zA-Z0-9],又等价于[^\w]
\s 匹配空格,等价于[ ]
\S 匹配非空格,等价于[^\s]
\t 匹配制表符,tab
\n 匹配换行符
\r 匹配回车符
\b匹配单词边界,不消耗任何字符
匹配小写字母
按键次数最少则胜
创建捕获分组(capturing group),用来匹配字符串中的一部分,使用向后引用(back reference),对捕获的分组进行引用。
$1是perl风格的后向引用
常用正则表达式
匹配域名
grep -oE '(([a-zA-Z](-?[a-zA-Z0-9])*)\.)+[a-zA-Z]{2,}'
排除空行和#开头的行(grep -E 扩展正归表达式)
cat x.xx | grep -Ev "^$|#"
过滤多个条件,或的关系
ps aux | grep 'httpd\|nginx'
ps aux | grep -E "httpd|nginx"
排除以#开头的行
cat x.xx | grep -v ^#
查看file1中空行的行号
grep -n ^$ file1
需要严格匹配,如筛选abc,不需要abcd,abcde,则使用-w –word-regexp
grep -w "abc"
或者
grep "\<abc\>"
管道加grep -i不区分大小写匹配
lspci | grep -i ether 04:00.2 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller (rev 0a)
直接取出当前目录文件中含有conf的行
grep -R 'conf' .
grep 打印出前面before,后面after,周边around的几行
cat file | grep -A 1 aaa cat file | grep -B 1 aaa cat file | grep -C 1 aaa
高亮显示 grep 出来的字符
cat aaaa | grep --color aaaa
去掉指定的几个 pattern
grep -v -e "pattern1" -e "pattern2" grep -Ev "pattern1|pattern2"
对过滤的结果计数(行数)
grep -c 'aaaa' filename
当前目录找到有某些字符的行及文件
grep -rn 'bbs' .
当前目录找到有某些字符的文件
grep -rl 'bbs' .
只输出匹配到的文字
不输出文件名
grep -h 'my_variable' /data/code/*
例:把所有子域名打印出来
cat domain.txt | grep -Eo '(\w+.)+jpuyy.com'
grep 所有 ip 地址
grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}' .
grep 所有的 ip 网段
grep -roE '([0-9]{1,3}\.){3}[0-9]{1,3}\/[0-9]{1,2}' .
grep 包含中文的文件
grep -rl '[\u4e00-\u9fa5]' .