Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 我希望正则表达式匹配每个字母C之间的点#_C#_Regex - Fatal编程技术网

C# 我希望正则表达式匹配每个字母C之间的点#

C# 我希望正则表达式匹配每个字母C之间的点#,c#,regex,C#,Regex,我有缩写字段,我想确保输入的格式如下: x.x.(大写或小写) 例如: 以下内容有效:F.H. 以下内容无效:FH或F.H或FH. 我使用了以下正则表达式: \.([a-zA-Z])+\. ([a-zA-Z]\.)+ 但并不是每封信都有效 提前谢谢 在您的示例中,您提到使用了([a-zA-Z]\)+。该正则表达式应匹配F.H. 根据所使用的代码,您可能需要通过包含^$或\A\z元字符来确保匹配整个行或字符串。在这种情况下,您将拥有^([a-zA-Z]\.)+$或\a([a-zA-Z]\.)+

我有缩写字段,我想确保输入的格式如下:
x.x.(大写或小写)
例如:
以下内容有效:F.H.
以下内容无效:FHF.HFH.

我使用了以下正则表达式:

\.([a-zA-Z])+\.
([a-zA-Z]\.)+
但并不是每封信都有效


提前谢谢

在您的示例中,您提到使用了
([a-zA-Z]\)+
。该正则表达式应匹配F.H.

根据所使用的代码,您可能需要通过包含
^$
\A\z
元字符来确保匹配整个行或字符串。在这种情况下,您将拥有
^([a-zA-Z]\.)+$
\a([a-zA-Z]\.)+\Z
,这将确保F.HFH.不会意外匹配

除此之外,您可能需要考虑到并非所有用户都只有ASCII名称。然后可以使用
\p{L}
\p{Letter}
Unicode类别来包含所有语言的字母

综上所述,我建议使用以下正则表达式:

^(\p{L}\)+$

正如您在中所看到的,这将匹配示例字符串F.H.A.B.C.ÖÉ,而不匹配FHF.HA.5.以下正则表达式应该工作:
^([A-Z]{1}+/code>
>[A-Z]{1}
将大写字母A到Z精确匹配一次-
\.{1}
将点(转义)匹配一次-
(…)+
重复匹配组1到无限时间欢迎来到StackOverflow,我希望你不要因为你的问题已经结束而气馁。正则表达式问题很难提出,它们很容易变得有点过于开放,不适合SO的格式。我建议玩一玩,这样你就可以更具体地询问匹配者t这会引起问题。用你的确切用例(文本中的缩写、表单中的首字母缩写等)编辑问题也可能会有所帮助。Thanx@lime,我编辑了这篇文章,并使一个问题更加具体!@Isaac85:太好了!为了使它更具可回答性(从而增加重新打开的机会),我建议在“并非对每个字母都有效”部分。包括一个应该匹配但不匹配的问题字符串列表。这样,回答的人可以评估他们是否真正解决了您的问题。(作为旁注,可能只是你在
a-z
a-z
中有一个输入错误。同样,如果你在我上面链接的测试环境中摆弄它,你会更容易告诉我们你尝试了什么并帮助我们)