如何用正则表达式搜索若干段落中的内容?谢谢!

请教各位大虾:
如何在PowerGREP环境下用正则表达式搜索若干段落中的内容?
搜索段落内的内容似乎容易实现,而搜索段落间的内容却不得要领。
可能问题出在如何检索换行符的问题。

比如下面的语料,我想搜索两个"<P>"之间的段落内容,使用:
\<P\>.*?\<P\>
no hit returned.

使用:
\<P\>(.*?(\r\n)*)*)\<P\>
好像也不行。

谢谢各位!




<P>
Full-size image (46K)

Fig. 2.?Screenshot of the simulated chatting program. At this point in the trial, the participant is about to verify whether the simulated interlocutor’s sentence (the highlighted sentence, which means ‘the teacher hits the monk’) matches the picture in the top-right corner, by clicking on the NEE (NO) or JA (YES) button. After verification, a new picture appears for the participant to describe, the text box above the JA and NEE buttons changes so as to allow typed input, and the ZEND (SEND) button becomes clickable. The information in the lower-right corner says the user is ‘connected’.

<P>
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

我没用过PowerGREP,不过在perl中用RegEx经常遇到这个问题,原因是每次只读入一个段落在段落范围内匹配。
我通常把整个文本文件读入一个字符串变量然后再匹配
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

我估计你说的是的问题,不是段落问题。实际上是word wrap的问题。你所说的段落,实际上是一行,只是为了显示方便等wrap了。

勾选上Dot Mateches Newline(s)就可以了。

另外,你的表达式里加那么多反斜杠做什么?
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

你没有使用多行模式进行搜索
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

谢谢ArthurW, xujiajin 和 williamJia的指教!
的确勾选上Dot Mateches Newline(s)就可以了!
听诸君一席话,胜读数日书!
再次致谢!:)
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

实际上这里涉及一个“行”的问题。在文本检索中,计算机所读取的“行”,跟我们实际看到的行并一定是一回事。

“文本处理”不同于“字处理”。MS Word这样的软件主要是文字处理和桌面排版工具,其底层有很多标记或代码,是为了排版和显示效果而设的。这也是为什么几乎所有的concordancer都不支持Word的原因之一。
 
回复: 如何用正则表达式搜索若干段落中的内容?谢谢!

实际上这里涉及一个“行”的问题。在文本检索中,计算机所读取的“行”,跟我们实际看到的行并一定是一回事。

“文本处理”不同于“字处理”。MS Word这样的软件主要是文字处理和桌面排版工具,其底层有很多标记或代码,是为了排版和显示效果而设的。这也是为什么几乎所有的concordancer都不支持Word的原因之一。

受教了,谢谢许博士。
 
Back
顶部