RegEx string查找两个字符串并删除文件中的其余文本
我需要用记事本查找并删除文本文件中的其余部分+++ 我想使用正则表达式来查找thban的变体。。。。。变量在其see圆点后面始终最多有5个字符。 用我的搜索字符串,它击中了最后一行,但却击中了整行。我只想保留这个词。 当这起作用时,我还希望保留包含C3的单词。。。。。 tekst文件的其余部分可以删除。 它也应该是不敏感的RegEx string查找两个字符串并删除文件中的其余文本,regex,find,notepad++,Regex,Find,Notepad++,我需要用记事本查找并删除文本文件中的其余部分+++ 我想使用正则表达式来查找thban的变体。。。。。变量在其see圆点后面始终最多有5个字符。 用我的搜索字符串,它击中了最后一行,但却击中了整行。我只想保留这个词。 当这起作用时,我还希望保留包含C3的单词。。。。。 tekst文件的其余部分可以删除。 它也应该是不敏感的 (?!thban\w+).*\r?\n? \ 这将导致 THBANES900 C3950 THBAN THBANES901 C3850 THBANMP900 thbanes
(?!thban\w+).*\r?\n?
\
这将导致
THBANES900 C3950
THBAN
THBANES901 C3850
THBANMP900
thbanes900
也许只是抓住那些感兴趣的话,而不是取代其他的一切?在记事本++中搜索模式:
^.*\b(thban\S{0,5})(?:.*(\sC3\w+))?.*$|.+
见
^-启动字符串ancor。
.*\b-除换行符以外的任何字符,在一个字边界上的次数不超过零次。
-打开第一捕获组。
thban\S{0,5}-匹配thban和零或5个非空白字符。
-关闭第一捕获组。
?:-打开非捕获组。
.*-换行符以外的任何字符零次或多次。
-打开第二捕获组。
\sC3\w+-一个空白字符,匹配C3和一个或多个单词字符。
-关闭第二捕获组。
? - 关闭非捕获组并将其设置为可选。
.*-换行符以外的任何字符零次或多次。
$-结束字符串ancor。
|-替换或替换。
.+-换行符以外的任何字符一次或多次。
替换为:
$1$2
在此之后,您可能会得到一个空行,您可以使用内置选项快速删除它。我不知道英文术语,所以我制作了一个GIF来告诉您在哪里可以找到这些按钮:
我不确定“忽略”案例的英文复选按钮是什么。但是请确保没有勾选。也许只是捕捉那些感兴趣的单词,而不是替换所有其他单词?在记事本++中搜索模式:
^.*\b(thban\S{0,5})(?:.*(\sC3\w+))?.*$|.+
见
^-启动字符串ancor。
.*\b-除换行符以外的任何字符,在一个字边界上的次数不超过零次。
-打开第一捕获组。
thban\S{0,5}-匹配thban和零或5个非空白字符。
-关闭第一捕获组。
?:-打开非捕获组。
.*-换行符以外的任何字符零次或多次。
-打开第二捕获组。
\sC3\w+-一个空白字符,匹配C3和一个或多个单词字符。
-关闭第二捕获组。
? - 关闭非捕获组并将其设置为可选。
.*-换行符以外的任何字符零次或多次。
$-结束字符串ancor。
|-替换或替换。
.+-换行符以外的任何字符一次或多次。
替换为:
$1$2
在此之后,您可能会得到一个空行,您可以使用内置选项快速删除它。我不知道英文术语,所以我制作了一个GIF来告诉您在哪里可以找到这些按钮:
我不确定“忽略”案例的英文复选按钮是什么。但请确保没有勾选。您可以使用
查找内容:?|\bthban\S{0,5}|\sC3\w+|?S:。
替换为:?1$1\n:
屏幕截图和设置
细节
?|-分支重置组的开始:
\bthban\S{0,5}-组1:一个单词边界,然后是thban和任何0到5个非空白字符
|-或
\sC3\w+-一个空格字符,然后是组1:C3和一个或多个单词字符
-分支重置组结束
|-或
s:。-任何一个字符,包括换行字符
替代品是
?1-如果第1组匹配,
$1\n-带换行符的组1值
:-否则,替换为空字符串
-条件替换模式的结束
你可以用
查找内容:?|\bthban\S{0,5}|\sC3\w+|?S:。
替换为:?1$1\n:
屏幕截图和设置
细节
?|-分支重置组的开始:
\bthban\S{0,5}-组1:一个单词边界,然后是thban和任何0到5个非空白字符
|-或
\sC3\w+-一个空格字符,然后是组1:C3和一个或多个单词字符
-分支重置组结束
|-或
s:。-任何一个字符,包括换行字符
替代品是
?1-如果第1组匹配,
$1\n-带换行符的组1值
:-否则,替换为空字符串
-条件替换模式的结束
你说的“它后面总是有最多5个字符”是什么意思?你的例子没有说明这一点。你是说“之后”吗?那么,为什么只有THBAN一条线保持不变呢?很抱歉,我会强调,但实际上,我的意思是,在固定的字符串之后,“它后面总是有最多5个字符”是什么意思?您的示例没有说明这一点。你是说“之后”吗?那么,为什么只有THBAN一条线保持不变呢?很抱歉,我会解释,但实际上我的意思是,在固定线之后,我在发布我的答案时刚刚看到了你的答案。你得到了我的投票。只是一个重击,我会在thban和C3I之前插入单词边界。我在发布我的答案时看到了你的答案。你得到了我的选票。再重复一遍,我会在thban和C3之前插入单词边界