发布时间:2018年04月10日 21:26:59分享人:遹柏景来源:互联网29
正则表达式怎样匹配一个字符串,条件是不包括一个子串或者多个子串?搜寻网上答案,众说纷纭,七七八八,有的十分怪异,有的不好使。其实,这个表达式很简单,就是不要使用"^"这个控制符,而使用"?!"。这个控制串在网上查不到解释,不知道具体功能。不过,它可以用来匹配不包括的字符串。
![正则表达式匹配不包括一个字符串或者几个字符串 正则表达式匹配数字](http://img.aihuau.com/images/31101031/31034530t01b19f4ef0e2977f8b.png)
正则表达式最常见的一个功能就是html分析,利用它搜寻tag。比如要找<table ....... >。那么可以这样,控制串前部为<tablebabc”((?!>).)*>。看见里面的“."了吧,意思是所有字符,本来它不包括换行符,在C#下,你可以通过调用函数忽略掉换行符。但是这个".",不是无条件的,而是有限制的,就是不能包括>。这下子就好了,匹配过程会在第一个>字符那里停下来,因为马上下一个匹配符就是>,所以整个匹配就结束了,最后一个字符是>。至此,整个tag被匹配出来。
本文出了说明如何使用不包括子串的匹配,而且要说明的是,?!这个控制符控制的是字符串,而非字符,这是与^的不同之处,也是有实用价值的地方。仅仅不包括一个字符,有多大用处?还有就是,你可以连续使用这个控制符,用于不包括多个字符串。 比如对于文本ab2cd3ef 1234 xyz,a((?!d).)*将得到ab2c,a((?!23).)*将得到ab2cd3ef 1,a((?!23)(?!c).)*将得到ab2,就是说不包括多个字符串匹配时,停止于第一个不包括的字符串处。不包括多个字符串用于分析html时,可以将某些具有关键字符串的tag区分出来,因为不包括>是必须的。比如你可以把所有<table找出来,形成一个数组或表,然后把不不包括关键字的元素剔除,不就剩下有关键字的元素了吗?
爱华网本文地址 » http://www.aihuau.com/a/25101012/135971.html
更多阅读
之前写过一个轻乳酪,是用本鸡蛋做的。6寸轻乳酪蛋糕今天的是用洋鸡蛋做的,不加黄油版本,方子如下:低粉20克,玉米淀粉8克,细砂糖60克,奶油奶酪150克,牛奶75克,淡奶油75克,普通鸡蛋3个使用模具:6寸活底硬模烘焙方式:水浴法,140度60分钟。第
![](http://img.aihuau.com/images/31101031/31050943t01d30eabed6ea12407.jpg)
细说一个汉字等于几个字符,以及汉字,字符,字节,位之间的关系 全文主旨总结:一:1个汉字 = 1个字 = 1个字符二:1个字符 = 1个字节 = 8bit(ACSII码下)三: 1个字符 = 2个字节 = 16bit(Unicode码下)
![](http://img.aihuau.com/images/31101031/31052826t01ea127fb9f4a8ad39.jpg)
问 题:打开压缩文件,但提示“WinRAR不是一个免费软件,在40天的使用期结束后,你必须购买一个许可或者将它从你的计算机中删除”。但是点关闭后,仍然可以继续使用。原 因:40天试用期已到解 决:不影响使用,只是有些烦人可以去下个破解版的无限
![](http://img.aihuau.com/images/31101031/31064930t016f5b44339e76acf7.jpg)
厚古薄今:斯托克顿和保罗根本就不是一个级别的控卫 由 西徳隆东墙 发表在虎扑篮球·湿乎乎的话题 http://bbs.hupu.com/votelz认为评价斯托克顿的两个点是1991年和1996年,先看1991年(梦一内容转帖自网易考古系),1991年是斯托克顿进入联盟
答:GB150适用的容器壳体圆筒的最小厚度要求,主要是考虑在容器制造过程中就一般焊接方法而言,是为满足焊接工艺对厚度的要求并保证对形状,几何尺寸的公差要求。对于小直径圆筒(如DN1500以下)同时还兼顾了制造,运输和安装过程中的刚度要求。