2014-12-23 25 views
0

我試圖找到並在HTML paragraphe中存儲所有的單詞。正則表達式和Javascript:找到口音的詞

其實,我有這樣的

p.html(function(index, oldHtml) { 
return oldHtml.replace(/\b(\w+?)\b/g, '<span>$1</span>'); 
}); 

功能,但它只有返回字沒有口音。 我在regex101.com上測試 https://www.regex101.com/r/jS5gW6/1

任何想法?

+2

你需要使用統一碼.. –

+0

你需要找到*只*單詞conta口音,或*全部*詞語?請注意,問題的一部分是'\ w'不能識別重音字符作爲'單詞'字符,另一部分是'\ b'在內部使用'\ w'的定義來掃描單詞邊界。所以,即使用'\ w'將'é'和'ç'添加到類中也不能解決所有問題。 – usr2564301

+0

@Jongware我需要找到所有的單詞。 – jcbaudot

回答

4

使用字符類:

oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>'); 

嘗一嘗:

var oldHtml = 'kjh À ùp géçhj ùù Çfg'; 
var res = oldHtml.replace(/([\wàâêëéèîïôûùüç]+)/gi, '<span>$1</span>'); 

"<span>kjh</span> <span>À</span> <span>ùp</span> <span>géçhj</span> <span>ùù</span> 

CFG」

+0

奇怪 - 但謝謝澄清!我認爲'我'不會'忽略案件'*,因爲* JS的正則表達式不支持重音字符。然後,我想它在下面使用通用的'toLowerCase()'。 – usr2564301

+0

謝謝你,這是工作...正則表達式是複雜的:-) – jcbaudot

+0

@jcbaudot:不客氣,很高興它有幫助。 – Toto