首页 > 解决方案 > 正则表达式条件字符串仅包含英语而不是希腊语,反之亦然(希腊语而不是英语)

问题描述

我正在尝试在 C# 代码中构建一个正则表达式,以检查输入文本是否包含希腊语或英语,但不能同时包含两者,如下例所示:

Angela = true
Ανγκελα = true
AngeΛα = false
Αντζela = false

我试过以下没有运气:

[a-zA-Z\s]?[α-ωΑ-Ω\s]
[a-zA-Z\s]|[α-ωΑ-Ω\s]

更多信息

标签: c#regex

解决方案


考虑到问题中提供的示例输入,您可以使用

^(?:[a-zA-Z]+|[α-ωΑ-Ω]+)$

细节

  • ^- 字符串的开始
  • (?:[a-zA-Z]+|[α-ωΑ-Ω]+)- 一个或多个 ASCII 字母或一个或多个希腊字母
  • $- 字符串结束。

推荐阅读