2
文本使用Javascript - 正則表達式規則,找XX但不是在span標籤
message = 'Hello, my name ist Peter!';
我的標籤
tags = {};
tags.tagsOne = {};
tags.tagsOne['t1'] = 'hello|is|there|g';
tags.tagsOne['t2'] = 'bub';
tags.tagsOne['t3'] = 'dog|house';
tags.tagsTwo = {};
tags.tagsTwo['t1'] = 'blub|man';
tags.tagsTwo['t2'] = 'word';
tags.tagsTwo['t3'] = 'sorry|high';
正則表達式
regexT1 = new RegExp('('+tags.tagsOne['t1']+'|'tags.tagsTwo['t1']+')','gi');
regexT2 = new RegExp('('+tags.tagsOne['t2']+'|'tags.tagsTwo['t2']+')','gi');
regexT3 = new RegExp('('+tags.tagsOne['t3']+'|'tags.tagsTwo['t3']+')','gi');
更換
message = message.replace(regexT1,'<span class="highlightT1">$1</span>');
message = message.replace(regexT2,'<span class="highlightT2">$1</span>');
message = message.replace(regexT3,'<span class="highlightT3">$1</span>');
他查找和替換的<span class="highlightT1">$1</span>
了。
是否有可能在正則表達式來表示,但不是這個 - ><span class="highlightT1">$1</span>
例
- >http://jsfiddle.net/tVmTe/3/
UPDATE:
工作實例 - >http://jsfiddle.net/tVmTe/9/
這是可能的,但它會過分複雜的正則表達式。實現相同的結果而不是修改它們會更簡單和可維護。例如,在向這些正則表達式提取字符串之前檢查特定條件。 – J0HN 2011-08-17 12:37:44
通常你不應該用正則表達式來解析html。 – 2011-08-17 14:40:13