2014-06-03 4 views
0

Я ищу регулярное выражение для соответствия numeral pinyin lexical unit (один или несколько пиньинов без пробела).Regex для соответствия цифре Pinyin

Чтение Regex for Matching Pinyin кажется хороший старт, как я был в состоянии быстро добавить поддержку числительное, выполнив:

/(ORIGINAL_REGEXP)[0-5]/ 

Так по существу оберточной старый регулярному_выражению в группе и прилагая позици состояние. Однако я не могу распространить это на случай нескольких слов. Например:

jiao4zuo4zhi1wu4 叫座之物 
jiao4zu3 教祖 
jiao4zong1xuan3ju3 教宗选举 
jiao4zi3 教子 
jiao4zhun3yi2qi4 校准仪器 
jiao4zhun3tiao2  校准条 
jiao4zhun3ti1chi3 校准梯尺 
jiao4zhun3quan1  校准圈 
jiao4zhun3qi4 校准器 
jiao4zhun3pu3 校准谱 

N.B .: Это выражение будет использоваться в контексте Javascript.

+0

Какой скороговорка ns конкретно вы пытаетесь сопоставить? Я думаю, что ваш вопрос может получить дополнительную информацию. – mareoraft

ответ

1

Вот регулярное выражение я использую на основе @EagleV_Attnam решения и некоторые добавления, что я сделал плавник:

/^((ORIGINAL_REGEXP)[0-5])+$/ 

Добавление начало и конец ^$ якоря решить мои вопросы:)

Полное регулярное выражение:

/^((([mM]iu|[pmPM]ou|[bpmBPM](o|e(i|ng?)?|a(ng?|i|o)?|i(e|ng?|a[no])?|u))|([fF](ou?|[ae](ng?|i)?|u))|([dD](e(i|ng?)|i(a[on]?|u))|[dtDT](a(i|ng?|o)?|e(i|ng)?|i(a[on]?|e|ng|u)?|o(ng?|u)|u(o|i|an?|n)?))|([nN]eng?|[lnLN](a(i|ng?|o)?|e(i|ng)?|i(ang|a[on]?|e|ng?|u)?|o(ng?|u)|u(o|i|an?|n)?|ve?))|([ghkGHK](a(i|ng?|o)?|e(i|ng?)?|o(u|ng)|u(a(i|ng?)?|i|n|o)?))|([zZ]h?ei|[czCZ]h?(e(ng?)?|o(ng?|u)?|ao|u?a(i|ng?)?|u?(o|i|n)?))|([sS]ong|[sS]hua(i|ng?)?|[sS]hei|[sS][h]?(a(i|ng?|o)?|en?g?|ou|u(a?n|o|i)?|i))|([rR]([ae]ng?|i|e|ao|ou|ong|u[oin]|ua?n?))|([jqxJQX](i(a(o|ng?)?|[eu]|ong|ng?)?|u(e|a?n)?))|(([aA](i|o|ng?)?|[oO]u?|[eE](i|ng?|r)?))|([wW](a(i|ng?)?|o|e(i|ng?)?|u))|[yY](a(o|ng?)?|e|in?g?|o(u|ng)?|u(e|a?n)?))[0-5])+$/ 
2

Возможно, вы неправильно интерпретируете свой вопрос, но не могли бы вы просто добавить + для одного или нескольких пиньинь? То есть

/((ORIGINAL_REGEXP)[0-5])+/ 
+0

wow Я действительно устал пропустить этот, спасибо. Есть еще некоторые случаи, когда он не ведет себя адекватно: он позволяет использовать пробелы, строку соответствия, содержащую действительный пиньинь и т. Д. –

Смежные вопросы