正则表达式匹配逗号分隔值INV-x,INV-y,INV-z等?
问题描述:
我不是很好的正则表达式,并想知道如果有人可以帮我写这个字符串的正则表达式:正则表达式匹配逗号分隔值INV-x,INV-y,INV-z等?
INV-6001,INV-5067,INV-6795
INV-始终是相同的,再其次是四个数字(这可能会增长到五六个或更多)。
它们可以用逗号无限分隔。
我会如何写这样的东西?
任何帮助将不胜感激,即使你可以指向我的发电机的方向,我可以粘贴它,它会吐出我的表情。
干杯
答
这至少需要一个INV-
部。它不会接受主要或尾随逗号。它只接受4(或5或6)数字。 (以前的报表假设它是固定在两端。)
INV-\d{4,6}(?:,INV-\d{4,6})*
或者,也许更可取(正则表达式可以成为快速过于复杂!),是分裂输入“”然后确保每个部分在一个循环中符合INV-\d{4,6}
。如果需要用数据完成,那么部分正则表达式方法的“代码开销”变得最小。
快乐编码。
什么是“有效”输入和什么是“无效”输入?有些答案“有效”,但可能不包括预期的情况:使用正则表达式全部是关于*定义一组精确的规则*。一旦你定义了这些,你将能够更专注和相关的更新你的标题/问题。 – 2012-03-11 23:16:07
有效的是: INV- xqwzid 2012-03-11 23:33:26