binghc 发表于 2010-9-14 21:42:41

[已解决]帮忙用正则匹配一字符串中的单词

本帖最后由 binghc 于 2010-9-15 00:58 编辑

Match only at beginning of string
现在要用正则匹配不以ing结尾的单词,正则怎么写?

xyold1 发表于 2010-9-14 22:15:45

本帖最后由 xyold1 于 2010-9-14 22:19 编辑

$sip = "Match only at beginning of string"
;~ $_Splt = StringRegExp($sip, "(\b\w*ing\b)",3)
$_Splt1=StringRegExpReplace($sip, "\b\w*ing\b", " ")
msgbox(0, "正则测试- " , $_Splt1)
;~ for $i = 0 to UBound($_Splt) - 1
;~         msgbox(0, "正则测试 标志值 1 - " & $i, $_Splt[$i])
;~   Next
;~ MsgBox(0,"",$_Splt)

binghc 发表于 2010-9-14 22:20:05

很感谢二楼的代码,不过你好像弄反了,我要的是不已ing结尾的单词(Match only at of )
麻烦再写下代码{:face (197):}

xyold1 发表于 2010-9-14 22:21:30

回复 3# binghc

没看清,改过来了

binghc 发表于 2010-9-14 22:24:36

\b\w+(?!ing)\b
我这么写为什么不行啊,郁闷了

afan 发表于 2010-9-14 23:01:54

\b\w+(?<!ing)\b

binghc 发表于 2010-9-15 00:55:07

本帖最后由 binghc 于 2010-9-15 00:59 编辑

花了好几个小时终于研究出来了,可以这么写:\b\w+(?<!ing)\b
汗!没想到已经有人抢先了,不愧是版主!哈哈
既然这样那我就在这解释一下为什么 \b\w+(?!ing)\b 不行,而\b\w+(?<!ing)\b却可以:
是这样的前者是从前面匹配过来,而后则者是从后面匹配过来。
就当是给路过的朋友解释一下啦{:face (355):}

liufenglg 发表于 2010-9-17 10:13:53

花了好几个小时终于研究出来了,可以这么写:\b\w+(?
binghc 发表于 2010-9-15 00:55 http://www.autoitx.com/images/common/back.gif


    谢谢

qsy666888 发表于 2014-6-23 10:13:52

花了好几个小时终于研究出来了,可以这么写:\b\w+(?
你只花几个小时,我花了几年了,还没有搞出来
页: [1]
查看完整版本: [已解决]帮忙用正则匹配一字符串中的单词