我有一个名为 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 终端中使用这个正则表达式来匹配它们:
grep -P '\b[ʔŋɡk]|[ʔŋɡk]\b|[aiueo][ʔŋɡk][aiueo]' a.txt
但我找不到一个正则表达式来分别匹配它们,我的意思是一次在最后匹配后齿槽,另一个正则表达式仅在开头匹配,而元音之间的另一个正则表达式匹配任何人都可以帮助我,谢谢
最佳答案
您可以使用的正则表达式是
grep -P '(*UCP)[ŋɡʔ]\b' file # 1
grep -P '(*UCP)\b[ŋɡʔ]' file # 2
grep -P '[aiɪueo][ʔŋɡk][aɪiueo]' file # 3
哪里
(*UCP)[ŋɡʔ]\b
- 匹配ŋ
、ɡ
或ʔ
后跟Unicode 感知(由于(*UCP)
PCRE 动词)字边界(*UCP)\b[ŋɡʔ]
- 匹配前面带有 a 的ŋ
、ɡ
或ʔ
Unicode 感知(由于(*UCP)
PCRE 动词)字边界[aiɪueo][ʔŋɡk][aɪiueo]
匹配ŋ
、ɡ
、k
或ʔ
位于a
、i
、ɪ
、u
、e
之间> 和o
元音(注意i
和ɪ
不是相同的字母!)
查看grep
demo :
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ŋɪt
关于正则表达式匹配后齿槽辅音,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65914231/