假设我有一个字符串,如下所示。
string input = "合{あい}気{き}道{どう}生{う}まれる昨日{きのう}から揚{あ}げそば";我想得到的是一个数组,如下所示。
string[] output = {"合{あい}", "気{き}", "道{どう}",
"生{う}", "まれる", "昨日{きのう}",
"から", "揚{あ}", "げそば"};查找原子部件的伪规则:
{,后面是一个或多个hiragana字符,后面是}{和}之间的平假名字符。我对regex不熟悉。我也不知道如何区分康吉和平假名。你能帮我在C#里解决这个问题吗?
发布于 2015-12-04 12:35:56
您可以使用以下正则表达式:
[一-龯]+{\p{IsHiragana}+}|\p{IsHiragana}+(?![^{}]*})见regex演示
它包含两个备选方案:
[一-龯]+{\p{IsHiragana}+} -匹配1或更多的汉字([一-龯]+,从https://gist.github.com/terrancesnyder/1345094借来的),后面跟着{...}或.\p{IsHiragana}+(?![^{}]*}) -1或更多的Hiragana,后面没有{或}以外的字符,然后是}。https://stackoverflow.com/questions/34088366
复制相似问题