regex - NotePad++ 的正则表达式帮助
问题描述
我需要 RegEx 方面的帮助我只是想不通我需要搜索有空格的已损坏 Hashtags。
所以字符串例如:
#ThisIsaHashtagWith Space
但也可能有我不想替换的“With Space”字样。
如此重要的是字符串以“#”开头,然后是任何字符,然后是我想替换为“WithSpace”以修复主题标签的单词“With Space”。
我有一个包含 10k 个损坏的 Hashtags 的文档,我尝试了一整天都没有成功。
我在 regex101.com 上试过
使用以下正则表达式:
^#+(?:.*?)+(With Space)
即使我认为它适用于 regex101.com 它在 Notepad++ 中不起作用
任何帮助表示赞赏。
非常感谢。BR
解决方案
在您当前的正则表达式中,您匹配 a #
,然后匹配任何字符,然后在捕获组中匹配 match (With Space)
。
您可以更改捕获组以捕获比赛的第一部分。
然后您可以在替换中使用该组:
$1WithSpace
作为替代方案,您可以先匹配单个字符,然后匹配#
零次或多次非贪婪的任何字符.*?
,然后用于\K
重置报告匹配的起点。
然后匹配With Space
。
在更换使用WithSpace
如果要匹配一次或多次#
,可以使用 quantifier +
。如果匹配应该从字符串的开头开始,您可以^
在正则表达式的开头使用锚点。
推荐阅读
- xml - 商户请求 XML 不支持 Safari
- javascript - 使用 json 数据构建 C3.js 图
- dotnetnuke - 是否有特定的 DNN 表可用于存储产品评论或第三方数据?
- c - 如何在比特流编程过程中额外编程 NIOS II 项目的 hex 文件?
- python - 使用一天或一小时的特定时间过滤 Pandas 数据框
- powerbi - 如何在与比较日期相同的列上计算 DAX 中最接近的较早日期
- node.js - 如何使用适用于 JavaScript 的 AWS 开发工具包动态创建内联 Lambda?
- rancher - 如何在 Rancher GUI 中屏蔽 DB_PASSWORD 字段?
- .net - 如何在 vb6 exe 和 .net dll 之间传递控制对象?
- mongodb - 具有多个字段的Spring数据mongoDB推送操作不起作用