zoukankan      html  css  js  c++  java
  • 正则表达式使用技巧

    一、不包含某些字符串

    经常我们会遇到想找出不包含某个字符串的文本,程序员最容易想到的是在正则表达式里使用,^(hede)来过滤”hede”字串,但这种写法是错误的。我们可以这样写:[^hede],但这样的正则表达式完全是另外一个意思,它的意思是字符串里不能包含‘h',‘e',‘d'三个但字符。那什么样的正则表达式能过滤出不包含完整“hello”字串的信息呢?

    事实上,说正则表达式里不支持逆向匹配并不是百分之百的正确。就像这个问题,我们就可以使用否定式查找来模拟出逆向匹配,从而解决我们的问题:

    比如有几句话:

    今天超市猪肉卖23元

    今天天气真好

    我们希望匹配的句子中不含“猪肉”的句子,

    可用

    (?!猪肉).*$
    

    每个空字符都会检查其前面的字符串是否不是‘猪肉',如果不是,这.(点号)就是匹配捕捉这个字符。表达式(?!猪肉).只执行一次,所以,我们将这个表达式用括号包裹成组(group),然后用*(星号)修饰——匹配0次或多次,这种正则表达式的“查找”也叫做“zero-width-assertions”(零宽度断言),因为它不会捕获任何的字符,只是判断

  • 相关阅读:
    批量插入SQL(适用于数据量十万级以上的快速大量插入)
    python爬虫BUG(爬取航班信息)
    python爬虫实例(爬取航班信息)
    python入门基础
    C#生成Guid的几种方式
    微信小程序echart图
    替换SQL字段中的换行符,回车符
    ASP.NET目录
    增删改查程序
    C++中explicit关键字的使用
  • 原文地址:https://www.cnblogs.com/zongfa/p/13033375.html
Copyright © 2011-2022 走看看