使用否定前瞻查找两个 "CERRADO}" 字符串之间的模式
finding pattern between two "CERRADO}" strings using negative look-ahead
我有一个包含如下行的文本文件:
CERRADO}165856}TICKET}DESCRIPTION}some random text here\r\n
other random text here}158277747\r\n
CERRADO}165856}TICKET}FR2CODE}more random text also here}1587269339\r\n
我的最终目标是将那些不以 "CERRADO}" 字符串开头的行与其前一行连接起来。文件中可能有任意数量的行不以该字符串开头。这是最终结果:
CERRADO}165856}TICKET}DESCRIPTION}some random text here other random text here}158277747\r\n
CERRADO}165856}TICKET}FR2CODE}more random text also here}1587269339\r\n
我的第一次尝试是创建一个简单的正则表达式来匹配这些行。
CERRADO\}.+\r\n(?!CERRADO\})(.+\r\n)+
在正确设置正则表达式后,创建一个匹配组并替换它以摆脱 \r\n 模式,这是我目前所拥有的:
建议的正则表达式匹配文件中的所有行,而不仅仅是需要的行。
如有任何想法,我们将不胜感激
您可以使用
\R(?!CERRADO\})
并替换为 space.
正则表达式匹配:
\R
- 换行序列是...
(?!CERRADO\})
- 后面没有 CERRADO}
。
或者,
^(CERRADO\}.*)\R(?!CERRADO\})
并替换为
。此正则表达式匹配:
^
- 行首
(CERRADO\}.*)
- 捕获第 1 组(稍后用替换模式中的 </code> 反向引用引用):<code>CERRADO}
子字符串,然后是行的其余部分
\R
- 换行序列
(?!CERRADO\})
- 后面没有 CERRADO}
。
要用这个进行多次替换,您需要多次点击全部替换。
我有一个包含如下行的文本文件:
CERRADO}165856}TICKET}DESCRIPTION}some random text here\r\n
other random text here}158277747\r\n
CERRADO}165856}TICKET}FR2CODE}more random text also here}1587269339\r\n
我的最终目标是将那些不以 "CERRADO}" 字符串开头的行与其前一行连接起来。文件中可能有任意数量的行不以该字符串开头。这是最终结果:
CERRADO}165856}TICKET}DESCRIPTION}some random text here other random text here}158277747\r\n
CERRADO}165856}TICKET}FR2CODE}more random text also here}1587269339\r\n
我的第一次尝试是创建一个简单的正则表达式来匹配这些行。
CERRADO\}.+\r\n(?!CERRADO\})(.+\r\n)+
在正确设置正则表达式后,创建一个匹配组并替换它以摆脱 \r\n 模式,这是我目前所拥有的:
建议的正则表达式匹配文件中的所有行,而不仅仅是需要的行。
如有任何想法,我们将不胜感激
您可以使用
\R(?!CERRADO\})
并替换为 space.
正则表达式匹配:
\R
- 换行序列是...(?!CERRADO\})
- 后面没有CERRADO}
。
或者,
^(CERRADO\}.*)\R(?!CERRADO\})
并替换为
。此正则表达式匹配:
^
- 行首(CERRADO\}.*)
- 捕获第 1 组(稍后用替换模式中的</code> 反向引用引用):<code>CERRADO}
子字符串,然后是行的其余部分\R
- 换行序列(?!CERRADO\})
- 后面没有CERRADO}
。
要用这个进行多次替换,您需要多次点击全部替换。