我有一组数字...有人知道可以匹配并组合以下内容的 RegEx 吗:
BG18.RZBB.9155.0123.4567
BG18 RZBB 9155 0123 4567
BG18RZBB91550123456789
BG18-RZBB-9155-0123-4567
@DavidPostil 我真的不知道如何解释得更清楚。我只是想写一个 REGEX,在其中我可以组合这些数字或点、连字符、空格以及无空格的小写字母和零。我将在 REGEx101 中添加测试字符串,运行表达式,我应该会得到一个匹配项。
我的努力如下:
BG\d{2}[ -.]\d{4}[ -.]\d{3}[ -.]\d{4}[ -.]\d{4|\bCH\d{22}\b
答案1
正如@Davidpostill 所说,您的问题需要进一步澄清,因为它取决于编程/脚本语言。但是如果您在 regex101.com 上在线使用它。我将其复制到输入框中。
G18.RZBB.9155.0123.4567
BG18 RZBB 9155 0123 4567
BG18RZBB91550123456789
BG18-RZBB-9155-0123-4567
并输入经过一些修改的正则表达式。
B*G\d{2}[ -.]\w{4}[ -.]\d{4}[ -.]\d{4}[ -.](\d{4})
我认为,当您谈论组合时,您可能希望将它们作为反向引用。在这种情况下,您需要括号。
解释:
B*
,字符串包含“B”字符零次或多次。
G
,字符串仅跟随精确的“G”字符一次。
\d{2}
,后面跟着 2 位数字(0-9)的字符串
[ -.]
,字符串后面跟着方括号中的任意一个字符。(“”,“-”。 “。”)
..........
(\d{4})
,最后是 4 位数字的字符串。并将其分组以在替换字段中访问它。
因此,您只需输入“1 美元“(不带引号)。
它不会只匹配这一行
BG18RZBB91550123456789
因为之后“B*G\d{2}”正则表达式的这一部分必须跟随着任意字符“”、“-”、“。”所以它在这一步就打破了匹配