使用RegEx仅替换段落中第一次出现的单词

时间:2012-08-16 21:08:02

标签: regex

我有两段。我想用' {yootooltip ::它是一种广泛使用的非处方止痛药(止痛药)和退热药(退烧药)来替换首次出现的特定单词' acetaminophen ' )。过量使用扑热息痛会损害多个器官,特别是肝脏和肾脏。}对乙酰氨基酚{/ yootooltip} '

该段是: Percocet是一种止痛药,部分由羟考酮制成,部分由对乙酰氨基酚制成。通常会为患有急性剧烈疼痛的患者开处方。因为它含有羟考酮,这种物质会产生成瘾,也是一种滥用的危险处方药。出售或使用未经许可专业人员处方的Percocet是违法的。 2008年,像Percocet这样的药物(其中含有羟考酮和对乙酰氨基酚作为其主要成分)是安大略省最畅销的处方药。记录还显示,羟考酮(包括像Percocet这样的品牌名称)的死亡率翻了一番。这就是为什么上瘾的人必须前往安大略省的戒毒中心。大多数药物复发可以照顾Percocet成瘾。

我正在尝试为此编写正则表达式。我试过了 \ bacetaminophen \ b 但它正在取代两种情况。 任何帮助,将不胜感激。 感谢

2 个答案:

答案 0 :(得分:1)

在PHP的$limit函数http://us2.php.net/manual/en/function.preg-replace.php

中使用可选的preg_replace参数
$text = preg_replace('/acetaminophen/i', 'da-da daa', $text, 1);

只会替换第一次出现。

答案 1 :(得分:0)

对于the tool you're using,只需使用:

(.*?)\bacetaminophen\b