【发布时间】:2014-06-20 22:50:55
【问题描述】:
我在正则表达式中使用 \b 和希腊字符时遇到了困难。
this example[a-zA-ZΆΈ-ώἀ-ῼ]* 成功标记了我想要的所有单词(希腊语和英语)。现在考虑我想找到有 2 个字母的单词。对于英语,我使用类似this:
\b[a-zA-Z]{2}\b。你能帮我写一个成功用 2 个字母标记希腊语单词的正则表达式吗? (为什么?我的最终目标是删除它们)。
使用的文字:
希腊单音: Τογάρούνκαιπαρ 'υμίνλεγόμενον,ώςποτεΦαέθωνΗλίουπαίςτοτουπατρόςάρμαζεύξαςδιατομήδυνατόςείναικατάτηντουπατρόςοδόνελαύνειντατ' επίτηςγήςξυνέκαυσεκαιαυτόςκεραυνωθείςδιεφθάρη,τούτομύθουμένσχήμαέχονλέγεται,το δέ αληθές εστι των περί γήν και κατ' ουρανόν ιόντων παράλλαξις και διά μακρόν χρόνον γιγνομένη των επί γής πυρί πολάνα φθορ.
希腊 POLYTONIC: Τὸγὰροὖνκαὶπαρ 'ὑμῖνλεγόμενον,ὥςποτεΦαέθωνἩλίουπαῖςτὸτοῦπατρὸςἅρμαζεύξαςδιὰτὸμὴδυνατὸςεἶναικατὰτὴντοῦπατρὸςὁδὸνἐλαύνειντὰτ' ἐπὶτῆςγῆςξυνέκαυσεκαὶαὐτὸςκεραυνωθεὶςδιεφθάρη,τοῦτομύθουμὲνσχῆμαἔχονλέγεται,τὸ ΔὲὲληθέςἐστιτῶνῶνῶνὶκὐὐνὸννὸνὐὐὐὐννπίαάνἰόννννςὸνὶὶὰὰιννὸνένόνῶνῶνῶνῶνὶῆςῶνῆςΠὶὶπολλῷφθορς。
英语: 因为事实上,在你们国家和我们国家都流传着这样一个故事,从前赫利俄斯的儿子法厄同如何驾驭他父亲的战车,因为他无法驾驶它沿着他父亲的路线行驶,因此被烧毁了地球上的一切,他自己都被一道霹雳摧毁了——这个故事,正如人们所说的那样,具有传奇色彩,但它的真实性在于发生在天空中移动的物体的移动环绕地球,并用猛烈的火焰摧毁地球上的事物,这种火焰会在很长一段时间内反复发生。
到目前为止我所做的尝试:
// 1
txt = txt.replace(/\b[a-zA-ZΆΈ-ώἀ-ῼ]{2}\b/g, '');
// 2
tokens = txt.split(/\s+/);
txt = tokens.filter(function(token){ return token.length > 2}).join(' ');
// 3
tokens = txt.split(' ');
txt = tokens.filter(function(token){ return token.length != 3}).join(' ') );
2 & 3 被建议到我的问题这里:Javascript - regex - how to remove words with specified length
编辑
另请阅读:
【问题讨论】:
标签: javascript regex word-boundary