【问题标题】:Regular expression for text followed by comma文本的正则表达式,后跟逗号
【发布时间】:2018-06-10 16:31:46
【问题描述】:

您好,我尝试为以下模式编写正则表达式

D123456789,D123456789,D123456789,D123456789,D123456789,D123456789,D123456789

该模式应接受第一个字母为D,后跟 9 位带逗号的数字。不建议使用最后一个逗号。

我的模式是——

(^[Dd][0-9]{9}[,])+

请指导我如何做到这一点?

【问题讨论】:

  • 请注意,在您的示例模式中,所有出现都有 10 个数字,而不是 9。
  • 我已经更正了我的问题。它应该有 9 位数。
  • @Wiktor Stribizew 感谢这个模式。

标签: regex


【解决方案1】:

我假设您想匹配每个 Dd 后跟 完全匹配 9位数字(没有更多),所以写/D\d{9}/gi是不够的, 因为它会匹配这个 Dinitial 9 位数字 更长的数字字符串。

正确的正则表达式还应该包含一个正向预测, 包括逗号或字符串结尾。比如:

/D\d{9}(?=,|$)/gi

我假设您对数字后面的, 不“感兴趣”,所以 我没有在比赛中加入它。

另请注意,您的源样本包含 10 位字符串(不是 9 个)。 你是不是在这个细节上搞错了?

【讨论】:

  • 是的,它应该有 9 位数字。我已经更正了我的问题。
猜你喜欢
  • 2014-02-05
  • 1970-01-01
  • 2017-02-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多