1

我有一个考虑验证的任务,如果字符串连续包含 8 个字母形式的数字,我想修剪一个字符串,例如:

“三四五五二三四一二”或“三四五五二三四一二”

我想知道这个或其他一些建议是否可能是一些正则表达式。

它可以是 Javascript 或 Java

输入字符串:示例字符串三四五五二三四一二剩余img字符串

或者

输入字符串: “样本字符串三四五五二三四一二剩余img字符串”

我预期的字符串:“示例字符串剩余字符串

谢谢,吉比

4

2 回答 2

1

这应该适用于Javascript:

str.replace(
    /(?:(?:zero|one|two|three|four|five|six|seven|eight|nine)\s*){8,}/g,
    ""
);
于 2012-12-12T11:30:39.523 回答
-1

如果数字像您的示例中一样拼写出来,并且您在 JavaScript 中需要它,那么试试这个:

var eightDigitsRegex = /(?:(?:zero|one|two|three|...|nine)\s*){8,}/;
if (string.match(eightDigitsRegex)) {
    // It matches.
}

确保将其余数字添加到eightDigitsRegex.

  • (?:)是非捕获组
  • zero|...|nine- 数字替代品
  • {8}- 重复次数(任意数字对应的非捕获组会遇到8次

编辑:这里只有正则表达式匹配。请准确地澄清什么是“修剪”。删除匹配的子字符串?周围有空格吗?...

于 2012-12-12T11:25:50.743 回答