【发布时间】:2012-03-23 13:14:57
【问题描述】:
谁能帮我在 C# 和 js 中匹配以下类型的字符串“BEREŽALINS”、“GŽIBOVSKIS”,我试过了
\A\w+\z (?>\P{M}\p{M}*)+ ^[-a-zA-Z\p{L}']{2,50}$
等等……但没有任何效果。 谢谢
【问题讨论】:
标签: c# regex character-properties
谁能帮我在 C# 和 js 中匹配以下类型的字符串“BEREŽALINS”、“GŽIBOVSKIS”,我试过了
\A\w+\z (?>\P{M}\p{M}*)+ ^[-a-zA-Z\p{L}']{2,50}$
等等……但没有任何效果。 谢谢
【问题讨论】:
标签: c# regex character-properties
刚刚写了一个小控制台应用程序来做到这一点:
private static void Main(string[] args) {
var list = new List<string> {
"BEREŽALINS",
"GŽIBOVSKIS",
"TEST"
};
var pat = new Regex(@"[^\u0000-\u007F]");
foreach (var name in list) {
Console.WriteLine(string.Concat(name, " = ", pat.IsMatch(name) ? "Match" : "Not a Match"));
}
Console.ReadLine();
}
适用于你给我的两个例子,但不确定所有场景:)
【讨论】:
你能举例说明什么应该不匹配吗?
阅读您的问题就像您只想匹配字符串(可能在单独的行上)。如果是这样的话,只需使用
^.*$
在 C# 中,这变成了
foundMatch = Regex.IsMatch(SubjectString, "^.*$", RegexOptions.Multiline);
在 javascript 中这是
if (/^.*$/m.test(subject)) {
// Successful match
} else {
// Match attempt failed
}
【讨论】: