正则表达式条件字符串仅包含英语而不是希腊语,反之亦然(希腊语而不是英语)

Posted

技术标签:

【中文标题】正则表达式条件字符串仅包含英语而不是希腊语,反之亦然(希腊语而不是英语)【英文标题】:Regex condition string contains English AND NOT Greek or vice versa (Greek and not English) only 【发布时间】:2021-09-18 05:08:14 【问题描述】:

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

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

我尝试了以下方法,但没有成功:

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

some more info

【问题讨论】:

试试这个new Regex(@"(^[a-zA-Z\s]*$)|(^[α-ωΑ-Ω\s]*$)") 【参考方案1】:

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

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

详情

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

【讨论】:

非常感谢!它按预期工作。还要感谢您提供所有其他详细信息。 @harris 另见this regex demo。

以上是关于正则表达式条件字符串仅包含英语而不是希腊语,反之亦然(希腊语而不是英语)的主要内容,如果未能解决你的问题,请参考以下文章

如何使用正则表达式检查用户输入是不是仅包含特殊字符?

仅名字的正则表达式英语

如何获得正则表达式来检查字符串是不是仅包含字母字符 [a-z] 或 [A-Z]?

正则表达式与 C# 中的 OR 条件最长匹配

Python正则表达式希腊字符[重复]

如何使用正则表达式查询 pymongo 以获取仅包含数字的值