NotePad++ 正则表达式删除带有 space 和某些字母的单词
NotePad++ regex remove words with space and certain letters
我正在尝试删除带有 "com" 并以“.”结尾的单词。我想删除整个单词并保留“。”
这是起始文本的示例:
This is a test testcom.
我希望输出为:
This is a test .
到目前为止我想出的是:
(?<=\ ).*?com(?=\.)
但这似乎突出了第一个 space 的完整句子。
(?<=\ ).*?com(?=\.)
模式匹配 space 之后的位置,然后匹配除换行符之外的任何 0 个或多个字符,但尽可能少,直到第一次出现 com
] 后跟一个点。因此,它将匹配从 space 之后的匹配位置到 com.
子字符串的任何数量的 space。
如果 com
可以出现在单词 中的任何位置,您可以使用以下两个表达式之一:
[^\s.]*com[^\s.]*\.
\w*com\w*\.
并替换为 .
.
或者,等效的:
[^\s.]*com[^\s.]*(?=\.)
\w*com\w*(?=\.)
并替换为空字符串。
如果com
必须在单词的末尾,只需从上面的表达式中删除第二个[^\s.]*
/ \w*
.
详情
[^\s.]*com[^\s.]*\.
- 匹配除 whitespace 和 .
以外的 0+ 个字符,然后匹配 com
然后再匹配除 whitespace 以外的 0+ 个字符.
和 .
\w*com\w*\.
- 匹配 0+ letters/digits/_
,然后匹配 com
,然后再次匹配 0+ letters/digits/_
,然后.
.
Notepad++ 演示和设置:
我相信这一款会适合你:
\w*?com(?=\.)
我正在尝试删除带有 "com" 并以“.”结尾的单词。我想删除整个单词并保留“。”
这是起始文本的示例:
This is a test testcom.
我希望输出为:
This is a test .
到目前为止我想出的是:
(?<=\ ).*?com(?=\.)
但这似乎突出了第一个 space 的完整句子。
(?<=\ ).*?com(?=\.)
模式匹配 space 之后的位置,然后匹配除换行符之外的任何 0 个或多个字符,但尽可能少,直到第一次出现 com
] 后跟一个点。因此,它将匹配从 space 之后的匹配位置到 com.
子字符串的任何数量的 space。
如果 com
可以出现在单词 中的任何位置,您可以使用以下两个表达式之一:
[^\s.]*com[^\s.]*\.
\w*com\w*\.
并替换为 .
.
或者,等效的:
[^\s.]*com[^\s.]*(?=\.)
\w*com\w*(?=\.)
并替换为空字符串。
如果com
必须在单词的末尾,只需从上面的表达式中删除第二个[^\s.]*
/ \w*
.
详情
[^\s.]*com[^\s.]*\.
- 匹配除 whitespace 和.
以外的 0+ 个字符,然后匹配com
然后再匹配除 whitespace 以外的 0+ 个字符.
和.
\w*com\w*\.
- 匹配 0+ letters/digits/_
,然后匹配com
,然后再次匹配 0+ letters/digits/_
,然后.
.
Notepad++ 演示和设置:
我相信这一款会适合你:
\w*?com(?=\.)