0

如何检查字符串的格式是否正确。我希望字符串仅在完全匹配时进行比较和传递。以下是正确的格式:

0.#

0.##

0.###

0.####

0.#####

点 (.) 后面的井号 (#) 最多可以有 10 个字符,但它应该只有 0.# 不允许其他任何字符。

有人可以指导我如何验证这种类型的字符串吗?

4

1 回答 1

1

Im 正则表达式 carret (^) 表示行首, ($) 表示行尾(或在换行符之前)。

具有完全匹配的正则表达式正是您想要用 ^ 和 $ 括起来的内容。但是您必须确保引用特殊的正则表达式字符。例如正则表达式

^Hello World$

将与字符串“Hello World”完全匹配,仅此而已。

您也可以直接使用数字。您需要转义点“。” 作为正则表达式中的点表示除换行符以外的任何字符。您可以通过添加反斜杠来转义字符。

接下来你应该了解量词。通常是

  • -> 0 or many
    
  • -> 1 or many
    

{n} -> 正好 n 次 {n,} -> 至少 n 次 {n,m} -> n 到 m 次

所以你可以写:

^0\.#{1,10}$

如果在 C# 中使用带引号 (") 的普通字符串,则必须使用两个反斜杠

^0\\.#{1,10}$
于 2021-08-05T03:57:50.573 回答