Regex 正则表达式在RTF中使用exclude提取部分文本

Regex 正则表达式在RTF中使用exclude提取部分文本,regex,rtf,Regex,Rtf,使用正则表达式,我需要找到所有以\pard开头并以空格结尾的内容,但同时其中没有\intbl 接下来,您可以看到RTF文本文件。 非常感谢你 {\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil Lucida Console;}{\f1\fnil\fcharset0 Lucida Console;}{\f2\fnil\fcharset0 Arial Black;}} {\colortbl ;\red0\green0\blue0;} {\*\generat

使用正则表达式,我需要找到所有以
\pard
开头并以空格结尾的内容,但同时其中没有
\intbl

接下来,您可以看到
RTF
文本文件。 非常感谢你

{\rtf1\ansi\ansicpg1252\deff0{\fonttbl{\f0\fnil Lucida Console;}{\f1\fnil\fcharset0 Lucida Console;}{\f2\fnil\fcharset0 Arial Black;}}
{\colortbl ;\red0\green0\blue0;}
{\*\generator Msftedit 5.41.21.2509;}\viewkind4\uc1\trowd\trgaph10\trleft-32\trrh240\trpaddl10\trpaddr10\trpaddfl3\trpaddfr3
\clbrdrl\brdrw15\brdrs\brdrcf1\clbrdrt\brdrw15\brdrs\brdrcf1\clbrdrr\brdrw15\brdrs\brdrcf1\clbrdrb\brdrw15\brdrs\brdrcf1 \cellx966\clbrdrl\brdrw15\brdrs\brdrcf1\clbrdrt\brdrw15\brdrs\brdrcf1\clbrdrr\brdrw15\brdrs\brdrcf1\clbrdrb\brdrw15\brdrs\brdrcf1 \cellx2000\pard\intbl\qr\cf1\lang11274\f1\fs16 val1\cell val2\cell\row\trowd\trgaph10\trleft-32\trrh240\trpaddl10\trpaddr10\trpaddfl3\trpaddfr3
\clbrdrl\brdrw15\brdrs\brdrcf1\clbrdrt\brdrw15\brdrs\brdrcf1\clbrdrr\brdrw15\brdrs\brdrcf1\clbrdrb\brdrw15\brdrs\brdrcf1 \cellx966\clbrdrl\brdrw15\brdrs\brdrcf1\clbrdrt\brdrw15\brdrs\brdrcf1\clbrdrr\brdrw15\brdrs\brdrcf1\clbrdrb\brdrw15\brdrs\brdrcf1 \cellx2000\pard\intbl\qr val3\cell val4\cell\row\pard\li-30\cf0\lang0\f0\fs24\par
\lang11274\b\f2\fs48 Texto linea1\b0\f1\fs24\par
\par
Texto linea2\lang0\f0\par
}
那就是

\\pard(?:(?!\\intbl)[^ ])*[ ]
说明:

\\pard       # Match "\pard".
(?:          # Try to match...
 (?!\\intbl) #  (unless we're at the start of the string "\intbl")
 [^ ]        #  any character except space
)*           # ...any number of times.
[ ]          # Then match a space.
在您的示例文件中,这只匹配
\pard\li-30\cf0\lang0\f0\fs24\par

这将是

\\pard(?:(?!\\intbl)[^ ])*[ ]
说明:

\\pard       # Match "\pard".
(?:          # Try to match...
 (?!\\intbl) #  (unless we're at the start of the string "\intbl")
 [^ ]        #  any character except space
)*           # ...any number of times.
[ ]          # Then match a space.

在您的示例文件中,这只匹配
\pard\li-30\cf0\lang0\f0\fs24\par

只是为了确保:按空格,您是指实际的空格字符,还是也可以是任何其他类型的空格,如制表符或换行符?只是为了确保:按空格,您是指实际的空格字符,或者它也可能是任何其他类型的空白,比如制表符或换行符?