gpt4 book ai didi

c# - 正则表达式匹配西里尔字母中可能包含连字符的三个单词

转载 作者:太空宇宙 更新时间:2023-11-03 12:45:09 24 4
gpt4 key购买 nike

我正在尝试提出一个正则表达式,该正则表达式匹配西里尔文中的 3 个单词,在 C# 中也可以包含连字符。

匹配:"АБ АБ А","А-Б А-Б А-Б", "А-Б-А АБ АБ"等

不匹配:"АБ АБ", "АБ АБ", "АБ АБ-"等

到目前为止,我只有西里尔字母的正则表达式:^[\u0400-\u04FF]+$

最佳答案

首先,让我们详细说明规则:

  • Word must start from letter, end by letter
  • Word can contain any number of hyphens; each hyphen must be surrounded by letters (starting, dangling or doubled hyphens are not allowed)

所以对于单个单词我们有

  [\u0400-\u04FF](-?[\u0400-\u04FF]+)*

一些例子:

  АБ      // correct
АБ-А-АБ // correct (with hyphens)
Z // incorrect: non cyrillic letter
-А // incorrect: starting hyphen
А- // incorrect: dangling hyphen
А--Б // incorrect: double hyphen

现在,对于单词:我们需要 正好三个 单词,用任意数量 的空格分隔 \s:

  ^[\u0400-\u04FF](-?[\u0400-\u04FF]+)*(\s+[\u0400-\u04FF](-?[\u0400-\u04FF]+)*){2}$

关于c# - 正则表达式匹配西里尔字母中可能包含连字符的三个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37571976/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com