臺灣台語 和樂 好朋友 oiholo
twgo.io/taigi | tinyurl.com/oiholo
twgo.io/taigi | tinyurl.com/oiholo
教育部臺灣台語漢字輸入法 (下載)(一字+調,二字免調,三字拼音頭)
(三字拼音頭如:閻羅王 = glo。米篩目 = bthb。無彩工 = btshk。)
烏衣行臺台語和樂線上輸入法 (倉頡 | 行列 | 蝦米)
烏衣行台客語小小輸入法 (說明 |下載方式 | 使用) (含倉頡、速成、行列、蝦米)
PhahTaigi 臺語輸入法 (Android | iPhone iPad)
微軟 SwiftKey (Android)
Google Gboard (Android)(只能打出台羅符號)
一、常用查詢
【^天】以「天」開頭,任意長度漢字。
【天$】以「天」結尾,任意長度漢字。
【^天.$】以「天」開頭,兩個字的漢字。同舊典的「天?」。
【^.天$】以「天」結尾,兩個字的漢字。同舊典的「?天」。
【^天...$】以「天」開頭,四個字的漢字。同舊典的「天???」。
【^...天$】以「天」結尾,四個字的漢字。同舊典的「???天」。
【無|毋】有「無」或「毋」的任意長度漢字。同舊典的「頭+尾」。
【頭.*尾】有「頭」且有「尾」而「頭」在前的任意長度漢字。
【頭.*尾|頭.*尾】有「頭」且有「尾」的任意長度漢字。同舊典的「頭#尾」。
二、指定漢字數
【[^0-z]】表示一個「非0到z」的字元,在此指漢字。
【^[^0-z]$】一個漢字。同舊典的「?」。
【^[^0-z]{2}$】兩個漢字。同舊典的「??」。
【^[^0-z]{3}$】三個漢字。同舊典的「???」。
【^[^0-z]{4}$】四個漢字。同舊典的「????」。
【^[^0-z]{5,}$】五個漢字以上。
【^[^0-z]{5,7}$】五到七的漢字。
三、指定拼音數
【^[A-z]{1}[0-9]$】拼音字母1個的一個漢字。
【^[A-z]{7}[0-9]$】拼音字母7個的一個漢字。
【^[A-z]{1,2}[0-9]$】拼音字母1到2個的一個漢字。
【[0-9]{2}】有兩個數字的詞條,同【[0-9][0-9]】。
四、漢字構詞形式
【^(紅)(.)\2$】構詞為「ABB」形式,「A」為「紅」。
【^(.)(.)(\2)$】構詞為「ABB」形式的三個漢字,同【^([^0-z])([^0-z])(\2)$】。
【^(.)\1(.)\2$】構詞為「AABB」形式的四個漢字,同【^([^0-z])\1([^0-z])\2$】。
【^(.)(.)\1\2$】構詞為「ABAB」形式的四個漢字,同【^([^0-z])([^0-z])\1\2$】。
【^(.)(.)(.)\2$】構詞為「ABCB」形式的四個漢字,同【^([^0-z])([^0-z])([^0-z])\2$】。
【^(.)(.)\1(.)$】構詞為「ABAC」形式的四個漢字,同【^([^0-z])([^0-z])\1([^0-z])$】。
【^(.)\1(.)(.)$】構詞為「AABC」形式的四個漢字,同【^([^0-z])\1([^0-z])([^0-z])$】。
【^(.)(.)(.)\3$】構詞為「ABCC」形式的四個漢字,同【^([^0-z])([^0-z])([^0-z])\3$】。
五、指定聲調
【^[0-z]+5$】聲調為「5」的一個漢字。在此等同「^[^ -]+5$」。
【[0-z]+5$】最後一個字聲調為「5」的任意長度漢字。在此等同「.+5$」。
【^[0-z]+5】第一個字聲調為「5」的任意長度漢字。在此等同「^[^ -]+5」。
【^[^ -]+(1|8)$】聲調為「1」或「8」的一個漢字。
六、指定韻母
【^ang[0-9]$】音為「ang」,任意聲調為的一個漢字。
【^ang5$】音為「ang」,聲調為「5」的一個漢字。
【.*ang5$】最後一個字的音與調為「ang5」的任意長度漢字。
【.*ang[0-9]$】最後一個字的音為「ang」,任意聲調的任意長度漢字。
【^[A-Za-z]{0,3}ang[0-9]$】音為「ang」,任意聲調的一個漢字。在此同「^[^ -]+ang[0-9]$」。
【^[bghjklmnpst]{1,3}ang[0-9]$】任意聲母,韻母為「ang」,任意聲調的一個漢字。
【^([bghjklmnpst]{1,3})[aeiou]ng[0-9]$】任意聲母,任意元音,韻尾為「ng」,任意聲調的一個漢字。
七、指定聲母
【^(p|ph)ang[0-9]$】聲母為「p」或「ph」,韻母為「ang」,任意聲調的一個漢字。
【^(p|ph|m)ang[0-9]$】聲母為「p」或「ph」或「m」,韻母為「ang」,任意聲調的一個漢字。
【^p(o|oo)[0-9]$】聲母為「p,韻母為「o」或「oo」,任意聲調的一個漢字。
【^p[aeiou]ng[0-9]$】聲母為「p,韻母為任意「ng」結尾,任意聲調的一個漢字。
【^p[aeiou]+(p|t)[0-9]$】聲母為「p,韻母為「p」或「t」結尾,任意聲調的一個漢字。
八、指定韻尾
【^[A-Za-z]+p[0-9]$】韻母以「p」結尾,任意聲母、聲調的一個漢字。
【^[A-Za-z]+(p|t)[0-9]$】韻母以「p」或「t」結尾結尾,任意聲母、聲調的一個漢字。
【^[A-Za-z]+[ptk][0-9]$】韻母以「p」、「t」或「k」結尾結尾,任意聲母、聲調的一個漢字。
九、可有可無的字音
【^hu?e1$】「?」前的「u」可有可無,表示同{0,1},可查到he1跟hue1。
【^h.?i2$】「?」前的一個字元可有可無,表示同{0,1},可查到「hai2, hi2, hui2」。
【^..?仔$】一個或兩個漢字後面有「仔」,等同【^[^0-z]{1,2}仔$】或【^[^0-z][^0-z]?仔$】。
十、必定是漢字
【^[\u3400-\U0002EBEF]$】一個漢字。同舊典的「?」。
【^[\u3400-\U0002EBEF]{2}$】兩個漢字。同舊典的「??」。
【^[\u3400-\U0002EBEF]{3}$】三個漢字。同舊典的「???」。
【^[\u3400-\U0002EBEF]{4}$】四個漢字。同舊典的「????」。
【^[\u3400-\U0002EBEF]{5,}$】五個漢字以上。
【^[\u3400-\U0002EBEF]{5,7}$】五到七的漢字。
十一、編碼範圍內的漢字
【[\u3400-\U0002EBEF]】所有漢字
【[\u4E00-\u9FFF]】CJK漢字
【[\u3400-\u4DBF]】CJK漢字 ext-A
【[\U00020000-\U0002A6DF]】CJK漢字 ext-B
【[\U0002A700-\U0002B73F]】CJK漢字 ext-C
【[\U0002B740-\U0002B81F]】CJK漢字 ext-D
【[\U0002B820-\U0002CEAF]】CJK漢字 ext-E
【[\U0002CEB0-\U0002EBEF]】CJK漢字 ext-F
十二、其他
【[,。:;、?!]】有標點符號的詞條。
查閩南語辭典:javascript:(function(){ var selectedText = window.getSelection().toString().trim(); if(selectedText !== ''){ window.open('https://sutian.moe.edu.tw/zh-hant/tshiau/?lui=tai_su&tsha=' + encodeURIComponent(selectedText), '_blank'); } })();
閩南語辭典例句標音RUBY:javascript:(function() { var spans = document.querySelectorAll('span.mb-0'); spans.forEach(function(span) { var chineseText = span.textContent.trim(); var div = span.nextElementSibling; var pinyinSpan = div.querySelector('span'); var pinyinText = pinyinSpan.textContent.trim(); var chineseCharacters = Array.from(chineseText);pinyinText = pinyinText.replace(/([,!;?‘’“”…─。,!「」『』、;:?\.])/g, ' $1 '); var pinyinArray = pinyinText.split(/\s+/); var rubyText = ''; var chineseIndex = 0; for (var i = 0; i < pinyinArray.length; i++) { if (pinyinArray[i] === '-' || pinyinArray[i] === '--') continue; var chinesePart = chineseCharacters.slice(chineseIndex, chineseIndex + pinyinArray[i].split(/[-]+/).length); rubyText += '<ruby style="padding: 2px;">' + chinesePart.join('') + '<rt style="font-size: 0.7em;">' + pinyinArray[i] + '</rt></ruby>'; chineseIndex += chinesePart.length; } var newHtml = '<span style="line-height: 2.2;">' + rubyText + '</span>' + '<div class="mb-0 fs-6">'; span.innerHTML = newHtml; });})();
母音標紅色:javascript:(function(){ var elements = document.querySelectorAll('body *'); elements.forEach(function(element) { if (element.childNodes.length === 1 && element.childNodes[0].nodeType === 3) { var text = element.textContent; var newText = text.replace(/ee|oo|er|ii|a|e|i|o|u|y|oe|[ýŷüǖǘǚÜǕǗǙǛƗǜɄɨʉÉéÀÁÂÈÊÌÍÎÒÓÔÙÚÛàáâèêìíîòóôùúûĀāĂăĒēĔĕĚěĪīĬĭŃńŌōŎŏŐőŪūŬŭŰűǍǎǏǐǑǒǓǔǸǹḾḿ]|ỳ|ȳ|y̌|M̀|m̀|M̂|N̂|m̂|n̂|M̄|N̄|m̄|n̄|M̆|m̆|N̆|n̆|Ő͘|ő͘|A̋|E̋|I̋|M̋|N̋|a̋|e̋|i̋|m̋|n̋|M̌|Ň|m̌|ň|O̍͘|o̍͘|A̍|E̍|I̍|M̍|N̍|O̍|U̍|a̍|e̍|i̍|m̍|n̍|o̍|u̍|Ő͘|ő͘|O̍͘|o̍͘|O͘|o͘|Ò͘|Ó͘|Ô͘|ò͘|ó͘|ô͘|Ō͘|ō͘|Ǒ͘|ǒ͘/gi, '<span style="color: #BB4422;">$&</span>'); element.innerHTML = newText; } }); })();
閩南語維基百科轉台羅:javascript: (function() {function convertText(text) {const replacements = [[/oe/g, 'ue'],[/őe/g, 'űe'],[/óe/g, 'ué'],[/òe/g, 'uè'],[/ôe/g, 'uê'],[/ǒe/g, 'uě'],[/ōe/g, 'uē'],[/o̍e/g, 'u̍e'],[/oa/g, 'ua'],[/őa/g, 'űa'],[/óa/g, 'uá'],[/òa/g, 'uà'],[/ôa/g, 'uâ'],[/ǒa/g, 'uǎ'],[/ōa/g, 'uā'],[/o̍a/g, 'u̍a'],[/oá/g, 'uá'],[/oà/g, 'uà'],[/oâ/g, 'uâ'],[/oǎ/g, 'uǎ'],[/oā/g, 'uā'],[/o̍a/g, 'u̍a'],[/oa̋/g, 'ua̋'],[/ek\b/g, 'ik'],[/e̋k\b/g, 'i̋k'],[/ék\b/g, 'ík'],[/èk\b/g, 'ìk'],[/êk\b/g, 'îk'],[/ěk\b/g, 'ǐk'],[/ēk\b/g, 'īk'],[/e̍k\b/g, 'i̍k'],[/eng\b/g, 'ing'],[/e̋ng\b/g, 'i̋ng'],[/éng\b/g, 'íng'],[/èng\b/g, 'ìng'],[/êng\b/g, 'îng'],[/ěng\b/g, 'ǐng'],[/ēng\b/g, 'īng'],[/e̍ng\b/g, 'i̍ng'],[/Oe/g, 'Ue'],[/Őe/g, 'Űe'],[/Óe/g, 'Ué'],[/Òe/g, 'Uè'],[/Ôe/g, 'Uê'],[/Ǒe/g, 'Uě'],[/Ōe/g, 'Uē'],[/O̍e/g, 'U̍e'],[/Oa/g, 'Ua'],[/Őa/g, 'Űa'],[/Óa/g, 'Uá'],[/Òa/g, 'Uà'],[/Ôa/g, 'Uâ'],[/Ǒa/g, 'Uǎ'],[/Ōa/g, 'Uā'],[/O̍a/g, 'U̍a'],[/Oá/g, 'Uá'],[/Oà/g, 'Uà'],[/Oâ/g, 'Uâ'],[/Oǎ/g, 'Uǎ'],[/Oā/g, 'Uā'],[/O̍a/g, 'U̍a'],[/Oa̋/g, 'Ua̋'],[/Ek\b/g, 'I̍k'],[/E̋k\b/g, 'I̋k'],[/Ék\b/g, 'Ík'],[/Èk\b/g, 'Ìk'],[/Êk\b/g, 'Îk'],[/Ěk\b/g, 'Ǐk'],[/Ēk\b/g, 'Īk'],[/E̍k\b/g, 'I̍k'],[/Eng\b/g, 'I̍ng'],[/E̋ng\b/g, 'I̋ng'],[/Éng\b/g, 'Íng'],[/Èng\b/g, 'Ìng'],[/Êng\b/g, 'Îng'],[/Ěng\b/g, 'Ǐng'],[/Ēng\b/g, 'Īng'],[/E̍ng\b/g, 'I̍ng'],[/o\u0358/g, 'oo'],[/ő\u0358/g, 'őo'],[/ó\u0358/g, 'óo'],[/ò\u0358/g, 'òo'],[/ô\u0358/g, 'ôo'],[/ǒ\u0358/g, 'ǒo'],[/ō\u0358/g, 'ōo'],[/o̍\u0358/g, 'o̍o'],[/\bCh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'Ts$1'],[/\bChh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'Tsh$1'],[/\bch([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'ts$1'],[/\bchh([aeiounőóòôǒōo̍a̋áàâǎāa̍e̋éèêěēe̍űúùûǔūu̍i̋íìîǐīi̍n̋ńǹn̂ňn̄n̍])/g, 'tsh$1'],[/ⁿ/g, 'nn'],];for (const [pattern, replacement] of replacements) {text = text.replace(pattern, replacement);}return text;}function replaceText(element) {if (element.hasChildNodes()) {element.childNodes.forEach(replaceText);} else if (element.nodeType === Text.TEXT_NODE) {element.textContent = convertText(element.textContent);}}replaceText(document.body);})();