使用正则表达式我需要查找以 \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
}
答案 0 :(得分:1)
那将是
\\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
。