我有一个名为a.txt的文本文件,其中包含以下元素:
fall#i#1 fall (as a fruit) (v.) fall jatuh fall (as a fruit) (v.) jatuh* t͡ʃampaʔ
dog#n#1 dog dog anjing dog anjing ŋand͡ʒi
wing#n#1 wing wing sayap wing sayap kopaʔ
fly#i#1 fly (v.) fly (vb) terbang fly (v.) terbang tobaŋ
mosquito#n#1 mosquito mosquito nyamuk mosquito nyamuk ɲamuʔ
flower#n#2 flower flower bunga (yg jadi buah), kuntum flower bunga* buŋo
sky#n#1 sky sky langit sky langit* ʔlaŋɪt首先,我需要一个正则表达式来匹配具有最后一个肺泡后辅音的行,如ŋɡʔ输出应该如下所示:
fall#i#1 fall (as a fruit) (v.) fall jatuh fall (as a fruit) (v.) jatuh* t͡ʃampaʔ
wing#n#1 wing wing sayap wing sayap kopaʔ
fly#i#1 fly (v.) fly (vb) terbang fly (v.) terbang tobaŋ
mosquito#n#1 mosquito mosquito nyamuk mosquito nyamuk ɲamuʔ第二,我需要一个正则表达式来匹配输出单词开头的后牙槽数,如下所示:
dog#n#1 dog dog anjing dog anjing ŋand͡ʒi
sky#n#1 sky sky langit sky langit* ʔlaŋɪt第三,我需要一个正则表达式来匹配像这样的输出元音之间的后槽线:
flower#n#2 flower flower bunga (yg jadi buah), kuntum flower bunga* buŋo
sky#n#1 sky sky langit sky langit* ʔlaŋɪt我曾经在Ubuntu终端中使用这个regex来匹配它们:
grep -P '\b[ʔŋɡk]|[ʔŋɡk]\b|[aiueo][ʔŋɡk][aiueo]' a.txt但是我找不到一个正则表达式来分别匹配它们,我的意思是,一次匹配后牙槽线在结尾,另一个正则表达式只在开头,而元音之间的另一个正则表达式匹配,谁能帮我完成这个谢谢吗?
发布于 2021-01-29 23:04:37
您可以使用的regexp是
grep -P '(*UCP)[ŋɡʔ]\b' file # 1
grep -P '(*UCP)\b[ŋɡʔ]' file # 2
grep -P '[aiɪueo][ʔŋɡk][aɪiueo]' file # 3哪里
(*UCP)[ŋɡʔ]\b -在a、ɪ、u、ɪ、u之间,匹配ŋ、ɡ或ʔ后面的Unicode感知单词ŋ、ɡ或ʔ--匹配在a、i、ɪ、u、ɪ、u之间的ŋ、ɡ或ʔ。e和o元音(,注意,,i和ɪ不是同一个字母!)s='fall#i#1 fall (as a fruit) (v.) fall jatuh fall (as a fruit) (v.) jatuh* t͡ʃampaʔ
dog#n#1 dog dog anjing dog anjing ŋand͡ʒi
wing#n#1 wing wing sayap wing sayap kopaʔ
fly#i#1 fly (v.) fly (vb) terbang fly (v.) terbang tobaŋ
mosquito#n#1 mosquito mosquito nyamuk mosquito nyamuk ɲamuʔ
flower#n#2 flower flower bunga (yg jadi buah), kuntum flower bunga* buŋo
sky#n#1 sky sky langit sky langit* ʔlaŋɪt'
grep -P '(*UCP)[ŋɡʔ]\b' <<< "$s"
echo "----"
grep -P '(*UCP)\b[ŋɡʔ]' <<< "$s"
echo "----"
grep -P '[aiɪueo][ʔŋɡk][aɪiueo]' <<< "$s"输出:
fall#i#1 fall (as a fruit) (v.) fall jatuh fall (as a fruit) (v.) jatuh* t͡ʃampaʔ
wing#n#1 wing wing sayap wing sayap kopaʔ
fly#i#1 fly (v.) fly (vb) terbang fly (v.) terbang tobaŋ
mosquito#n#1 mosquito mosquito nyamuk mosquito nyamuk ɲamuʔ
----
dog#n#1 dog dog anjing dog anjing ŋand͡ʒi
sky#n#1 sky sky langit sky langit* ʔlaŋɪt
----
flower#n#2 flower flower bunga (yg jadi buah), kuntum flower bunga* buŋo
sky#n#1 sky sky langit sky langit* ʔlaŋɪthttps://stackoverflow.com/questions/65914231
复制相似问题