如果字符串完全符合定义,则匹配正则表达式
Posted
技术标签:
【中文标题】如果字符串完全符合定义,则匹配正则表达式【英文标题】:Regex to match if string is exactly as defined 【发布时间】:2021-10-10 01:32:16 【问题描述】:如何检查字符串的格式是否正确。我希望字符串仅在完全匹配时进行比较和传递。以下是正确的格式:
0.#
0.##
0.###
0.####
0.#####
点 (.) 后面的井号 (#) 最多可以有 10 个字符,但它只能有 0。# 不允许有其他字符。
有人可以指导我如何验证这种类型的字符串吗?
【问题讨论】:
当您需要完全匹配时,使用^
和$
分别指定字符串的预期开头和结尾
^0.\d1,10$
?
下面的这个 URL 将帮助您理解 Regex。 freecodecamp.org/news/…
【参考方案1】:
Im 正则表达式,大括号 (^) 表示行首,($) 表示行尾(或换行之前)。
一个完全匹配的正则表达式就是你想要的用 ^ 和 $ 括起来的东西。但是您必须确保引用特殊的正则表达式字符。例如正则表达式
^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$
【讨论】:
以上是关于如果字符串完全符合定义,则匹配正则表达式的主要内容,如果未能解决你的问题,请参考以下文章