regex - Notepad++ 正则表达式:搜索仅包含字母且没有数字字符的单词
问题描述
这是我必须处理的字符串示例:
<pnr>0240978840</pnr>;Amplificator AD8622ARMZ;<upa>1</upa>
<pnr>0273101670</pnr>;Power Management LT1236BIS8-10;<upa>1</upa>
<pnr>0299801750</pnr>;Power Management LT1175IS8-5;<upa>3</upa>
<pnr>0233201780</pnr>;Amplificator LT1498CS8;<upa>4</upa>
我已经搜索了一段时间,并尝试了几种模式将电子元件的“名称”嵌入标签中,并在标签中嵌入以下字符串以获取:
<kwd>Amplificator</kwd><adt>AD8622ARMZ</adt>
<kwd>Power Management</kwd><adt>LT1236BIS8-10</adt>
因此,对于本例,我搜索:“Amplificator”但不是“AD8622ARMZ”“电源管理”但不是“LT1236BIS8-10”。
我不明白如何只搜索带有字母的单词而不是带有字母和数字的单词。我试过了:
;(\w+)\s*(\D+) which finds ;Amplificator AD and ;Power Management LT
;(\w+)\s*([^\W+]+) which finds ;Amplificator AD8622ARMZ and ;Power Management (only !)
;(\w+)\s*([^\d]) which finds ;Amplificator A
;(\w+)\s*(\D+)\S which finds ;Amplificator A and ;Power Management LT1
;(\w+)\s*([a-zA-Z]+)[^0-9]+ which finds ;Amplificator AD and ;Power Management LT
我从几天开始就开始使用正则表达式,但我很难理解“规则:
好的,\w
一个有字母和数字的词
\d
是一个数字,但是如何表达一个有字母和没有数字的词?
我读了很多教程,但其中一些太难了,使用的令牌并不像帮助中写的那么简单......
我的目的不仅是答案,而且我真的想提高自己并理解...
非常感谢您的灯。如果有人知道不完全是初学者的tuto regex notepad++ tuto,那就太好了!
此致
解决方案
鉴于您的字符串示例,只要搜索和替换未应用于已替换的文本,就没有必要让它比
查找内容:;(.*) (.*);
替换为:;<kwd>\1</kwd><adt>\2<adt>;
推荐阅读
- assembly - mov.b 指令中的负操作数
- javascript - 无法根据动态值获取更新
- trigonometry - 计算反射/折射的屏幕空间是否需要二阶偏导数?
- r - 具有多个自变量选择的线性回归 R 闪亮应用
- python - SQLAlchemy 不匹配列与 orm 查询
- c++ - 用“动态”行数填充矩阵,逐行
- c++ - 使用 SSL/TLS 时 Qpid-CPP “10 秒后未收到协议,正在关闭”
- python - 从不重复的元组列表中获取具有相同 N 个交集的所有元组组的最快算法
- css - 如何调整我的博客文章以达到左侧和右侧?
- java - OpenJDK 15 和 Docker