如果文件中的单词匹配某些关键字/名称,我试图做HTML突出显示。然而,有时候关键词的一部分也存在,Perl会再次匹配它。如何在搜索和替换过程中让perl跳过某些单词
例如,我有以下关键词
KY SPINE & REHAB
- 当发现与它周围的方括号SPINE
更换 - 发现与它周围的圆括弧REHAB
更换时 - 当发现圆括号代替它周围
一旦它匹配KY SPINE & REHAB
,我想要阻止它匹配SPINE
和REHAB
。
这就是我现在得到的。我不能给HTML的例子,因为我不知道如何显示HTML标记,因为这个网站翻译它,只显示文本。实际上,我试图用不同的颜色来突出显示这些关键字,这些关键字来自于它们来自哪一组。
我现在得到:
[KY (SPINE) & (REHAB)]
我要的是:
[KY SPINE & REHAB]
如何让我的Perl跳过的话,在做搜索和替换?
我有数百万条记录,我必须这样做,即使并行处理速度也不是那么快。所以,代码高效的建议将不胜感激。
作为更新,我有数百个关键字,任何关键字可能是另一个关键字的子集。所以对其进行硬编码是不实际的。我正在寻找解决方案,perl可以跳过方括号内的字符串,这样就不会发生进一步的替换。
欢迎堆栈溢出。看看http://stackoverflow.com/editing-help并了解问题和答案的格式。我冒昧地让它更具可读性。还请阅读[问],然后添加您编写的代码以获取当前输出和一些样本数据。 – simbabque