Module:rad-IPA: Difference between revisions

ਕੋਈ ਸੋਧ ਸਾਰ ਨਹੀਂ
No edit summary
No edit summary
Line 1,910: Line 1,910:


while #IPA > 0 do
while #IPA > 0 do
if mw.ustring.find(IPA, "^".. V_long_regex .. "[" .. C_regex .. "]+" .. V_short_regex .. "[" .. C_regex .. "]+") or mw.ustring.find(IPA, "^".. V_long_regex .. "[" .. C_regex .. "]+[uyiɔœɛɤa][" .. C_regex .. "]*$") then
if mw.ustring.find(IPA, "^[uyiɔœɛɤa][" .. C_regex .. "]*$") or
table.insert(IPA_rhymes, IPA)
IPA = mw.ustring.gsub(IPA, "^".. V_long_regex, "") -- delete long vowel
elseif mw.ustring.find(IPA, "^[uyiɔœɛɤa][" .. C_regex .. "]*$") or
mw.ustring.find(IPA, "^" .. V_long_regex .. "[" .. C_regex .. "]*$") or
mw.ustring.find(IPA, "^" .. V_long_regex .. "[" .. C_regex .. "]*$") or
mw.ustring.find(IPA, "^" .. V_long_regex .. "[" .. C_regex .. "]+[uyiɔœɛɤa][" .. C_regex .. "]*$") or
mw.ustring.find(IPA, "^" .. V_long_regex .. "[" .. C_regex .. "]+[uyiɔœɛɤa][" .. C_regex .. "]*$") or
Line 1,920: Line 1,917:
table.insert(IPA_rhymes, IPA)
table.insert(IPA_rhymes, IPA)
break
break
elseif mw.ustring.find(IPA, "^".. V_long_regex .. "[" .. C_regex .. "]+" .. V_short_regex) or mw.ustring.find(IPA, "^".. V_long_regex .. "[" .. C_regex .. "]+[uyiɔœɛɤa][" .. C_regex .. "]*$") then
table.insert(IPA_rhymes, IPA)
IPA = mw.ustring.gsub(IPA, "^".. V_long_regex, "") -- delete long vowel
else
else
IPA = mw.ustring.gsub(IPA, "^" .. V_short_regex, "%1") -- delete short vowel
IPA = mw.ustring.gsub(IPA, "^" .. V_short_regex, "%1") -- delete short vowel