我遇到了一个奇怪的正则表达式问题......我有一个文件,我正在做一个替换......作为一个例子,我想用“DEXX / AREX”替换“DEXX”,然后用下一个替换替换...... . "AREX" 与 "AREX/CUBE"
DEXX 和 AREX 像这样存储在哈希中.... "DEXX" => "AREX", "AREX" => "CUBE"
我的正则表达式是这个......
foreach (keys %hashstore){
$doc=~s!\b($_)\b!$1/$hashstore{$_}!ig;
}
发生的事情是“DEXX”正在被“DEXX/AREX”替换,但是当遇到“DEXX/AREX”时,正则表达式正在用“DEXX/AREX/CUBE”替换“DEXX/AREX”,而它应该只替换“ AREX”,当它发现它是一个独立的词而不是另一个组合的一部分,如“DEXX/AREX”
它似乎将“/”检测为单词边界。有没有人遇到过这个或知道解决它的方法?非常感谢!艾米