发著作和回复还没错,转载了—用正则说明式找来不分包连续字符串abc的单词

#9楼 222.75.41.* 2007-04-04 15:31 apple [切莫报用户]

万分感谢你即刻的复原,.Net的发动机有点不同,呵呵,不行,然而楼上的情侣于自身了一些启迪:\b((?!http)\S)+?\b;不过什么界定长度也??
  回复  引用    

描绘过相同篇”正则表明式30秒钟入门教程“,有读者问:

#17楼 124.227.192.* 2008-05-29 10:43 初学者ZXYLXW [未报用户]

若本身惦记搜寻来字符串中来abc,但解除暴发@abc的什么样做吧?
比如说在.NET行使ACCESS”伪储存过程”中
自家记挂替换 “abc” = “@abc” 中后边一个abc为”中文字段名”
化 “中文字段名” = “@abc” ,请指教!
  回复  引用    

#16楼 118.144.40.* 2008-04-19 13:51 sonic_andy [不注册用户]

([^a]|a[^b]|ab[^c])
  回复  引用    

#8楼 [楼主] 2007-04-04 14:17 deerchao      

而的表明式中间是匪是大抵矣一个b?
假诺前3-5单字母或数字为非克包含http,你可利用:
^((?!http)[a-zA-Z0-9]){3,5}((?!http)\w)*$
假如前方可分包http你可行使:
^([a-zA-Z0-9]){3,5}((?!http)\w)*$

横流:我是使用.Net的引擎进行测试的,也许在javascript引擎下结果不同。
  回复  引用  查看    

#5楼 221.221.165.* 2007-03-26 16:18 maple [免报用户]

再尝试这多少个表达式吧

\b((?!abc)\S)+?\b

匪知晓自己本着题意的知道对怪,这一个应该可以配合有非带有abc的单词,当然abc这些单词也碰面破
  回复  引用    

怎么消除单词abc?经过一番思索,最终我看判单词是否以a起始的方太有利:\b(a(?!bc)|[^a](?!abc))((?<!abc).(?!abc))*\b(要么以尾不是bc的a起首,要么不以a最先,除了开首前边有的字符必须前边和后都非是abc)。经过测试,完全满意要求,Bingo!

#6楼 [楼主] 2007-04-02 10:56 deerchao      

是,您的此表明式能达同等的效用,而且再也精简。
  回复  引用  查看    

#11楼  2007-10-22 23:50 Felix      

请教一个麻烦自己一再之题目,虽然看似,但自身硬是没有弄出来

已知:<[^>]+>可以兼容有HTML标签,从而通过轮换标签内容去丢这多少个标签形成纯粹的公文

而自思以配合替换时解除<img /> 和 <a >xxx</a>
这半独标签从而为该以HTML文档中取得保留,却不知什么来写,希望会协理我研讨研讨,不胜感激!!
  回复  引用  查看    

今昔总的来说有点娱乐了,可是怎么管这些内部含有abc的字符串过滤掉吗?那一个题目换句话说也就算是怎么匹配完而无是有的也?现在需肯定用户之求了:假若用户想假若摸的是单词,这即使于表明式的两岸加上\b,假使要摸的是行,就增长^和$。由于用户之问题从未强烈表达,我虽当做是单独词吧。

用正则表明式查找无包含连续字符串abc的单词,最终结果:\b(a(?!bc)|[^a](?!abc))((?<!abc).(?!abc))*\b

履新:按照maple的评价,更精简之作法是:\b((?!abc)\w)+\b

posted on 2007-02-15 23:07 deerchao
阅读(2759)
评论(18)
 编辑
收藏

图片 1

这就是说加强规则试试:((?<!abc).(?!abc))*(找有装有前面和前面都无是abc的字符),结果是具有包含abc的字符串都单截取了里的”abc”,不包含abc的则一向通过。

#13楼  2007-10-23 10:45 Felix      

楼主真是怪的生猛,测试通过了,感谢!!
  回复  引用  查看    

#15楼 207.46.55.* 2007-11-27 12:58 蜜桃 [无注册用户]

起由此!不过关押不晓
接来蜜桃玩
http://www.meetao.cn/
  回复  引用    

#10楼 [楼主] 2007-04-04 15:41 deerchao      

自家碰了刹那间,javascript应该吗可以什么:

test.htm
<script>
var valid=”abcdefgh”;
var invalid=”acdsihttp”;

var reg=/^((?!http)[a-zA-Z0-9]){3,5}((?!http)\w)*$/ ;
alert(reg.test(valid));
alert(reg.test(invalid));
</script>
  回复  引用  查看    

#1楼 221.221.165.* 2007-03-26 13:16 maple [非注册用户]

用是不呢堪么?

((?!abc).)*?
  回复  引用    

#18楼 123.120.174.* 2008-08-18 11:54 booker [勿报用户]

君好博主,我用用vim处理log,现在本身怀恋就保留用户名是TEMP的log记录,不过VIM中仿佛没?!这样的正则表明式,我所以:
/^.* \(TEMP\)\{0}.*$

结果无法配合,不知底博主发出没发出啊好点子?谢谢
  回复  引用   

乃当交了这样的表明式:\b((?<!abc).(?!abc))*\b,经过测试,这一个表达式能匹配有不含有abc的单词,以及单词abc。

评论

#4楼 221.221.165.* 2007-03-26 15:57 maple [勿报用户]

害羞,应该是
\b((?!abc).)*\b

呵呵,多写了个问号
  回复  引用    

#3楼 221.221.165.* 2007-03-26 15:54 maple [不报用户]

片峰加上\b
与您的表明式结果大多
可只要配合有单个单词,还欲改
  回复  引用    

于是打开了RegexTester,开端考,先是尝试了以((?’test’abc)|.)*(?(test)(?!))(含意是:查找abc,或擅自的字符,要是找到了abc,就把它存入命名为test的组里,到最终检查test组里是不是有情,如果发就很是退步,相关表达见教程),结果是”abc”,”aabc”,”abcd”,”aa”都可以通过测试,看来是至末了测试到test组存在后还要想起了,此解决方案不可行。

#14楼  2007-10-23 11:41 Felix      

楼主能否加我之MSN或Gtalk有事相商
lf1981##msn、com
Gtalk同理
  回复  引用  查看    

[^abc]代表不包含a、b、c中擅自字符,
我思实现无带有字符串abc应该咋样勾勒表明式?

#7楼 222.75.41.* 2007-04-04 11:43 apple [免注册用户]

您好,获益匪浅,不过我思匹配3-5个盖字母或数字起始的字串,其中非包http,这样勾画却什么吧十分不交,请教!!
/^[a-zA-Z0-9]{3,5}b((?!http)\S)+?$/
  回复  引用    

#12楼 [楼主] 2007-10-23 02:41 deerchao      

@Felix
<(?!(/?(img|a)\b))[^>]*>

匹配<html><a href=”#”>xxx</a><img />
<img></img><div
id=”aaa”>xyz</div></html>的结果:
<html>
<div id=”aaa”>
</div>
</html>
  回复  引用  查看    

便我好而言,那些问题最简易的解决智是应用编程语言的配合,找有那么些饱含abc的,剩下的虽是匪分包的了——懒人的风格。但自身形容的是学科,读者未必都发编程的基本功,有些只是用部分器从txt文档中抽取爆发一些音信,所以只要回答依旧必须完全通过正则表达式来就。

下一场又尝试了(.(?!abc))*(找来富有前面不是abc的字符),结果是”abc”,”abcd”通过测试,”aabc”则光截取了背后的”abc”,显著非常。

#2楼 [楼主] 2007-03-26 14:12 deerchao      

@maple
自身试了一下,然而((?!abc).)*?好像什么啊匹配不顶吧?
  回复  引用  查看    

相关文章