请问如何匹配 . 与 . 之间的内容[已解决]
本帖最后由 heroxianf 于 2016-3-1 14:08 编辑内容如下:.
红烧肉
.
红烧肉请到www.baidu.com去搜索。
.
巨型大鱼
.
鲸鱼很大。
.
我再测试的时候想以“.” 来拆分,结果有网址的地方也会被拆分出来造成不准确。匹配的话也会以 “.” 匹配很多有问题。请指点一下! (?s)\n(.*?)\n(?s)\r\n(.*?)\r\n \.\v+(\V+) 回复 3# afan
A大如何中间多出一行文字,就不能匹配了。请问这个要如何处理呢?
回复 3# afan
(?s)(?<=^|\.).*?(?=\s*\n\.|$)
我用之前修改了一下 貌似可以得到这样的结果,麻烦看一下是否合理{:face (72):}我太机智了 回复 4# heroxianf
前面加上(?S)试试 回复 6# haijie1223
测试文本
#include <FileConstants.au3>
#include <MsgBoxConstants.au3>
#include <WinAPIFiles.au3>
#include <array.au3>
$file = @ScriptDir & "\111.txt"
$sString = FileRead($file)
Local $sText = $sString
Local $aArray = StringRegExp($sText, '(?s)\.\v+(\V+)', 3)
;_ArrayDisplay($aArray)
For $i = 1 To UBound($aArray) - 1
;$sString = StringReplace($sString, $aArray[$i], '*')
MsgBox(0, 0, StringReplace($aArray[$i], " ", ""), 1)
Next这样不行 ,还是 (?s)(?<=^|\.).*?(?=\s*\n\.|$) 这个正则可行 要对文本 \h替换处理后才行 回复afan
(?s)(?
heroxianf 发表于 2016-1-21 22:25 http://www.autoitx.com/images/common/back.gif
你的示例文本并没有其它形态,因此并没有考虑。如果要考虑周全,只怕还有其它的…因此,示例范本应提供所有形态。
修改的可以。 \S+[^\r\n]+\S+ stringsplit($str,"."&@crlf,1){:face (197):} 回复heroxianf
前面加上(?S)试试
haijie1223 发表于 2016-1-21 22:28 http://www.autoitx.com/images/common/back.gif
(?s)是啥意思啊
页:
[1]