簡體   English   中英

C#正則表達式明確匹配字符串

[英]C# Regex explicitly match string

我只想匹配來自AZ和az的單詞,最后加上一個可選的句點。 這是我到目前為止的代碼:

return Regex.IsMatch(word, @"[A-Za-z]\.?")

這意味着以下內容應返回true: testtest.

以下應返回false: t3sttest...

現在,此正則表達式對所有內容都返回true。

試試這個regex

@"^[A-Za-z]+\.?$"

邊界匹配器

  • ^表示行首
  • $表示行尾

貪婪的量詞

  • [A-Za-z] +表示[A-Za-z],一次或多次

您的正則表達式只要求輸入一個字母,后跟一個可選的期間。 由於您所有的單詞都以字母開頭,因此該正則表達式將返回true。

請注意,John Wesley王子的答案中的+號表示使用一個或多個字母,因此它將“吃掉”單詞中的所有字母,並以非字母開頭。 然后是\\。? 測試一個可選的時期。

我認為在這種情況下不需要^和$。

您可能還希望在正則表達式中包括連字符和單引號。 否則,您會遇到連字和緊縮字的問題。

可能會變得凌亂; 某些單詞具有多個連字符:例如,“呼叫端口”或“紋章”。 很少有人會找到一個引號多的單詞:“我會”表示“我會”。 它們非常罕見,您可能會忘記它們。 (糟糕!有一個以引號開頭的單詞... :)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM