当tʂ
、tʂ
、ʂ
、ʐ
、ts
、ts'
和s
单独出现时(当它们不与其他国际音标字符接触时),我想在它们的右侧添加ɨ
。请注意,它们后面都有一个数字,并且这些行被/
包围。
const input = `/ʊɔ3 yɛn2 tʂ2 tʂɑʊ3/
/ʊɔ3 mən5 tɕ'ʂ2 tʂɑʊ3/
/pu2 ʂ4 tʂə4 kə4/
/ʂ1/`
const output = input.replace(/(\/|[ ])(tʂ|tʂ\'|ʂ|ʐ|ts|ts\'|s)\d([ ]|\/)/g, '$&ɨ')
console.log(output)
现在,输出如下:
/ʊɔ3 yɛn2 tʂ2 ɨtʂɑʊ3/
/ʊɔ3 mən5 tɕ'ʂ2 tʂɑʊ3/
/pu2 ʂ4 ɨtʂə4 kə4/
/ʂ1/ɨ
但我想要的是:
/ʊɔ3 yɛn2 tʂɨ2 tʂɑʊ3/
/ʊɔ3 mən5 tɕ'ʂ2 tʂɑʊ3/
/pu2 ʂɨ4 tʂə4 kə4/
/ʂɨ1/
2条答案
按热度按时间uxh89sit1#
如何使用:
并替换为
$1ɨ
。请参阅联机demo([/ ]
-打开第一个捕获组,并匹配一个捕获转发slahs或空格;(?:t[ʂs]'?|[ʂʐs])
-与您提供的任何给定组合匹配的非捕获组;(?=\d+[ /])
-Assert位置的正前瞻后跟1+数字和另一个正斜杠或空格;)
-关闭第一个捕获组,该捕获组现在已准备好在替换中进行反向引用。6ie5vjzr2#
(包括第三个捕获中的数字并更改替换文本)