正则表达式完全匹配字符串?

我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。

我有一组价值观,例如:

028938

DEF567987

390987.456

GHI345928.039

我想匹配一组特定的字符串,例如:

  • 完全由6位数字组成的字符串
  • 字符串,由正好6位数字,十进制组成,后跟正好3位数字

在上面的示例中,第一个和第三个值应匹配。

我正在使用正则表达式:

[0-9]{6}

[0-9]{6}.[0-9]{3}

不幸的是,由于上述所有示例 均包含 指定的模式,因此所有值均匹配。这不是我的意图。

简而言之,我的问题是如何编写一个正则表达式,使其与字符串完全准确地匹配,并且在匹配模式的左右没有其他字符?是否有此类匹配的术语?(Google没有帮助。)TIA

回答:

使用^$匹配字符串的开头和结尾

^[0-9]{6}$

^[0-9]{6}\.[0-9]{3}$

参考:http : //www.regular-

expressions.info/anchors.html

同样,正如Mikael Svenson所指出的,\b如果您要在较大的文本块中搜索此模式,则可以使用单词边界。

参考:http :

//www.regular-expressions.info/wordboundaries.html

您也可以一次性编写这两个正则表达式

^\d{6}(\.\d{3})?$

以上是 正则表达式完全匹配字符串? 的全部内容, 来源链接: utcz.com/qa/426122.html

回到顶部