假设我有一个字符串,如下所示。
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
复制相似问题