关于韩国​​人物的正则表达

时间:2014-12-17 11:38:17

标签: c# regex

我需要使用正则表达式在该词中的“로”之前和“길”之前提取韩文字母。

  1. 장안 458번 138 - >提取“장안”和“번”
  2. 충서 1600 - >提取“충서”
  3. 我有[^ \ x00- \ x7F] +(?=로)[^ \ x00- \ x7F] +(?=길)。但这不适用于所有人

1 个答案:

答案 0 :(得分:2)

使用\p{L}匹配任何语言的任何类型的字母。

\p{L}+?(?=[로길])

DEMO

  • \p{L}+?来自任何语言的一个或多个字母的非贪婪匹配。

  • (?=[로길])确定匹配必须跟

  • 的肯定前瞻性

代码:

String input = "장안로458번길 138\n충서로 1600";
Regex rgx = new Regex(@"\p{L}+?(?=[로길])");
foreach (Match m in rgx.Matches(input))
{
Console.WriteLine(m.Groups[0].Value);
 }

IDEONE