正则表达式——lookahead and lookbehind

lookahead and lookbehind的概念 假设有字符串“ABC” ,如果我们要匹配B,可以有两种描述方法: lookahead:即后面跟着“C”的字符串。 lookbehind:即前面以“A”开头的的字符串。 这两种描述都能匹配到“B”,只是描述的条件不一样。 lookahead 我们知道正则表达式中“|”等价于 OR, 即,同时可以匹配 aaa或bbb。那么正则表达式中是否有对应的类似 AND 的操作呢,例如,我们验证一个密码强度是否同时满足以下几个要求: 必须包含小写字母 必须包含大写字母 必须包含数字 必须包含特殊符号 长度必须大于8 通常,对于上面的几个要求,我们都是把这5个要求拆分成5个单独的正则表达式来进行验证,但是现在要求你用一行正则搞定,怎么办呢? 答案就是正则中的“ a non-consuming regular expression”,其中 lookahead就是最常用的一种,又可分为positive lookahead assertion (?=expr)…

Unicode(0xb) error-An invalid XML character (Unicode: 0xb) was found in the element content of the document.

问题描述: 今天对接接口的时候,在解析对方的xml时,报了这样一个错误“Unicode(0xb) error-An invalid XML character (Unicode: 0xb) was found in the element content of the document.” 原因分析: 报错提示是说,xml中有一个非法的xml字符(Unicode: 0xb),unicode编码的0xb表示垂直tab( vertical tab,VT),在notepad++之类的文本编辑器中,显示为VT。详情见:https://en.wikipedia.org/wiki/Tab_key。 如有以下unicode编码后的文本: %u63a5%u53d7%0b%u3002 unicdoe解码后,notepad++中的显示,可以看到VT字符: 对于xml 1.0来说,它的合法的字符范围应该是(见:https://en.wikipedia.org/wiki/Valid_characters_in_XML#XML_1.0): XML 1.0 Unicode…

批量删除新浪博客文章的请求分析

新浪博客、网易博客这种博客平台,功能不多,连批量删除文章的功能都没有,本来想网上下个工具直接删,后来想想怕不安全,索性自己分析请求,写个脚本删除。 工具: chorme的f12 python3.6 分析过程: 1.先f12,分别录制删除操作的请求地址和参数 Request URL: http://control.blog.sina.com.cn/admin/article/article_del_recycle.php?domain=1 Request Method: POST Status Code: 200 OK Remote Address: 219.142.118.113:80 request param: blog_id: 70b92d280102ux4j uid: 1312312312 成功后的response: {“code”:”A00006″,”data”:””} 从上面看到,blog_id就是要删除的文章的id,uid是博客账号的id。其他的cookies之类的参数,f12都能全都获取到,写py脚本的时候照着拷贝一份即可。 2.获取所有删除的文章的id。在文章列表管理页面,查看源码,就能看到每页的文章列表的blog_id了,直接在console里循环请求文章列表页,然后提取每页的blog_id,拼接成一个list,就获得所有文章的blog_id了。 3.编写py脚本删除。请求都分析完了,剩下的就是py拼写http请求参数了,这里就不贴代码了。…

idea使用ant编译打包报错:GC overhead limit exceeded 的解决办法

上周给公司的一个项目分支打包手机后台代码,使用的是idea自带的ant编译打包,结果死活报错: GC overhead limit exceeded 看样子是jvm的heap不够,然后我直接在idea的compiler设置里修改heap,加大到2g,但是依然报这个错,google了半天都是网上的那几种方法,没什么效果,有点抓狂了,急着发更新,没辙,只能先去睡觉了。 第二天突然想到,使用idea自带的ant编译打包,ant也是个java程序,是不是在运行ant的时候,heap参数太小了呢?赶紧打开idea的ant参数配置界面: 坑,还真是运行ant时,heap设置太小了,idea默认才给了128M,如果遇到大点的项目不但可能报GC overhead limit exceeded,还会影响编译打包速度。最后,把Maximum heap改为2048,Maximum stack size改为1024,重新打包,没有报错了。 后记: 没有找到在哪里可以指定idea给所有ant项目设置一个默认的heap大小,谁要是知道在哪里,希望能告知下,谢谢。 来自为知笔记(Wiz)

windows python2.7安装readline模块报错

公司项目中用到了python 2.7,我在windows下需要引入 readline模块,在pycharm里安装该模块会报错: Collecting readline==6.2.4.1 Downloading readline-6.2.4.1.tar.gz (2.3MB) Complete output from command python setup.py egg_info: error: this module is not meant to work on Windows —————————————- Command “python setup.py egg_info”…

Xshell启动时显示丢失MSVCP110.dll解决方法

surface pro上运行下载的绿色版xshell打开就报下面的错,说Xshell启动时显示丢失MSVCP110.dll等dll文件。 解决方法 1.下载Visual C++ Redistributable for Visual Studio 2012 Update 4 ,下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=30679 根据自己系统的64位还是32位下载对应的,然后安装好后,重启电脑。 2.将运行时提示缺少的MSVCP110.dll, mfc110.dll等DLL文件从C:\Windows\System32中再复制一份到C:\Windows\SysWOW64\。 3.这个时候,可能还会报一个错,0x0000xxx之类的错误,是directx的问题,可以下载drectx repair软件进行修复,该软件网上有下载。 来自为知笔记(Wiz)