正则表达式完全匹配字符串?
我会在开头提到这个问题,尽管我离正则表达式专家很远,但是它们对我来说并不完全陌生。对于我来说,构建正则表达式来搜索特定字符串中的模式通常不是问题,但是我有一个(也许是?)独特的情况。
我有一组价值观,例如:
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