[已解决]正则去除多行空白符与简单的零宽断言……
本帖最后由 kxing 于 2010-5-10 13:50 编辑我目前是这样解决的,希望能一行搞定。
多谢!!!
$str="http://"&@crlf&"ftp:// "&@crlf&" lkjlkj"
$str=StringRegExpReplace($str,"(?m)^\s+","")
$str=StringRegExpReplace($str,"(?m)\s+$","")
msgbox(0,'',$str) $str = "http://" & @CRLF & "ftp:// " & @CRLF & " lkjlkj"
$str = StringRegExpReplace($str, "(?m)^\s+|(?m)\s+$", "")
MsgBox(0, '', $str) 另外在求教个问题.
怎样能匹配多行的行首字符呢
用了这样不行.
stringregexp("hjji"&@crlf&"hooi"&@crlf&"oo","(?m)^h")
这个表达式依然为true 不知道楼主是不是要这样,可能是我理解错了。Local $sText
$Text = "hjji" & @CRLF & "hooi" & @CRLF & "oo"
$aReg = StringRegExp(@CRLF & $Text, "\n\s*.", 3)
For $i = 0 To UBound($aReg) - 1
$sText &= $aReg[$i]
Next
MsgBox(0, '', $sText) 多谢了,我去看看... 不替换的可以吗?#include <array.au3>
$str = " http:// " & @CRLF & "ftp:// " & @CRLF & " lkjlkj "
$str = StringRegExp($str, "\S+", 3)
_ArrayDisplay($str) 第一个问题解决了.这个 | 不是或的意思吗?怎么可以都成立呢
另外第二个问题不能直接用一行搞定吗,replace可用(?m)匹配多行怎么regexp就不行呢
$str="hjji"&@crlf&"hooi"&@crlf&"hoo"
if stringregexp(@crlf&$str,"\n^h")
不能匹配每一行的行首的h则成立吗? 本帖最后由 kxing 于 2010-5-8 11:41 编辑
网速不好,重复发帖了。。。 If StringRegExp(@CRLF & $str, "\nh") Then ... 原来这样啊,^都不用了。
多谢楼上的几个朋友!!! 不行呢,怎么下面这条语句也为真:
$str="hjjj"&@crlf&"hooo"&@crlf&"21oiui"
If StringRegExp(@CRLF & $str, "\nh") Then msgbox(0,'','')
最后一行行首不是h啊!!! 本帖最后由 afan 于 2010-5-8 20:49 编辑
不行呢,怎么下面这条语句也为真:
$str="hjjj"&@crlf&"hooo"&@crlf&"21oiui"
If StringRegExp(@CRLF & $s ...
kxing 发表于 2010-5-8 18:11 http://www.autoitx.com/images/common/back.gif
都有两行h打头的,还不真?
你是要判断所有行都是h打头才是真吗?那就如下:$str = "hjjj" & @CRLF & "hooo" & @CRLF & "21oiui"
If Not StringRegExp(@CRLF & $str, "\n[^h]") Then MsgBox(64, 'ok,都是h打头', $str) thanks a lot!!! 在请教下,如果要匹配行首为:http:// 怎么办呢?
要求多行匹配的,麻烦高手指点,多谢!!!!! #include <Array.au3>
$Str = _
'http://www.autoitx.com/thread-15261-1-1.html' & @CRLF & _
'ftp://' & @CRLF & _
'http://aaa' & @CRLF & _
'www'
Msgbox(0, '原字符串', $str)
$sR = StringRegExp(@CRLF & $str, '\n(http://.+)', 3)
_ArrayDisplay($sR, '')
页:
[1]
2