正则表达式 - 字符串包含 6 位数字

标签 regex validation

我正在尝试编写一个正则表达式来解析数据库中的银行排序代码。 我需要正则表达式的原因是排序代码可能包含在句子中。 而且,它可能根本不是排序代码,因为将数据输入数据库的人们有时会将银行帐号和电话号码放入排序代码列中。 我可以使用

^[^0-9]*[0-9]{6}[^\d]*$ 

适用于

"blah123456blah"

但没有开启

"Emloyee 12's srt code : 123456"

我尝试过的任何其他方法都可以匹配字符串中的 6 个或更多位数字(很可能是银行帐号)。

非常感谢任何帮助。

最佳答案

你说你正在使用

[0-9]{2}\s*-?\s*[0-9]{2}\s*-?\s*[0-9]{2}

要添加所需的边界,请添加 (^|[^0-9]) (字符串起始位置 (^) 或 ( |) 前面有一个非数字 ([^0-9])) 和 ([^0-9]|$) (匹配非数字) -数字或字符串末尾位置 ($)) 位于末尾:

(^|[^0-9])[0-9]{2}\s*-?\s*[0-9]{2}\s*-?\s*[0-9]{2}([^0-9]|$)

请参阅regex demo .

关于正则表达式 - 字符串包含 6 位数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41126909/

相关文章:

java - 好的做法 : valid property vs. isValid() 方法?

javascript - Meteor - simpl-schema 类型 bool 值,接受 "Yes"为真, "No"为假

regex - Golang 匹配域名通配符

python - 如何通过匹配字符串在Python中提取父html标签

javascript - 我可以将 javascript 中的字段标记为无效吗?

javascript - 检查字段长度作为用户类型

java - 验证输入字段时忽略空值

正则表达式匹配所有以 n 个字符开头的序列

javascript - 正则表达式 - 从字符串中捕获重复字符

regex - 使用正则表达式检测句子末尾的单词