我有一组数据正在通过正则表达式过滤到不同的数组中。其中一个数组用于包含我的程序认为“太长”的数据。并非所有这些“太长”实例的长度都相同,但我想缩短它们。
我想要像 DRB1*01:02 这样的东西。
太长是像 DRB1*01:02:03 或更长的东西,包括像 DRB1*01:02:03:abc:29 这样的东西
但是,前面的字母并不总是相同的长度。我将处理诸如 A*1:01:02 或 TIM*01:02 之类的事情。所以我特别关注两个整数的集合及其前面的冒号,也许还有可能出现在“太长”数据中的任何字母。我想要前面的字母、星号和两组数字以及它们之间的冒号。
我想使用正则表达式来查找“太长”的数据片段,然后测量它匹配的数据的长度,然后向后切片以将其删除。
这样它会通知我 DRB1*01:02:03 匹配 *01:02:03 并且其长度为 9。对于与 DRB1*01:02:03:abc:29 匹配的任何内容相同 * 01:02:03:abc:29 并告诉我长度是 16。不匹配一个单词的长度。
有什么方法可以找到正则表达式匹配的数据部分的长度吗?包括正则表达式没有标记明确结束的情况?
我正在使用 JavaScript。