regex 正则表达式匹配逗号分隔值INV-x、INV-y、INV-z等?

w80xi6nr  于 2023-05-08  发布在  其他
关注(0)|答案(3)|浏览(589)

我不太擅长正则表达式,想知道是否有人可以帮助我为这个字符串写一个正则表达式:

INV-6001,INV-5067,INV-6795

INV-始终相同,然后后跟四位数(可能会增加到五位或六位或更多)。
它们可以用逗号无限分隔。
我怎么会写这样的东西?
任何帮助将不胜感激,即使你可以指出我在一个发电机的方向,我可以粘贴到这一点,它会吐出的表达式为我。
干杯

6fe3ivhb

6fe3ivhb1#

这至少需要一个INV-部分。它不接受前导或尾随逗号。它只接受4位(或5位或6位)。(前面的语句假定它锚定到两端。)

INV-\d{4,6}(?:,INV-\d{4,6})*

或者,也许更可取(因为正则表达式可能会很快变得过于复杂!),就是 * 拆分 *“,”上的输入,然后确保每个部分都符合循环中的INV-\d{4,6}。如果无论如何都需要对数据做一些事情,那么部分正则表达式方法的“代码开销”就会变得最小。
编码愉快。

7cwmlq89

7cwmlq892#

(?<=,|^)([^,]*)(,\1)+(?=,|$)

Reference

mzsu5hc0

mzsu5hc03#

我相信这个正则表达式可以解决你的问题:/[^,]+/g

相关问题