从输入中呕吐连续的8位数字(非数字)

时间:2012-12-12 11:15:41

标签: java javascript regex

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

“三四有五二三四有一两”或“三四有五缕四”“

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

可以是Javascript或Java

输入字符串:示例字符串三四有五五二三有四有二二余字符串

输入字符串:“示例字符串threefourfivefivetwothreefouronetwo remainingimg string”

我期望的字符串:“示例字符串remainingimg字符串

谢谢,Jibby

2 个答案:

答案 0 :(得分:1)

这适用于Javascript:

str.replace(
    /(?:(?:zero|one|two|three|four|five|six|seven|eight|nine)\s*){8,}/g,
    ""
);

答案 1 :(得分:-1)

如果数字在您的示例中拼写出来,并且您需要在JavaScript中使用它,请尝试以下操作:

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

确保在eightDigitsRegex中间添加其余数字。

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

编辑:此处仅匹配正则表达式。请详细说明“修剪”是什么。删除匹配的子字符串?围绕它的任何空白?..