从编号列表中删除数字和分隔符

时间:2011-07-08 17:29:11

标签: regex

我经常处理用户提交到网站的列表。列表通常如下所示:

  1. 项目
  2. 项目
  3. 模式通常是一个数字后跟分隔符(它可以是“ - ”或“\”或“。”或任何其他典型的分隔符)。数字和分隔符之间以及分隔符和列表项之间可以有一个或多个空格。有时列表项前面没有数字,在这种情况下,不需要做任何事情。有时会有一个数字但没有分隔符。

    有没有办法使用正则表达式一起取出数字和/或分隔符?

2 个答案:

答案 0 :(得分:4)

这将匹配数字和分隔符以及行的开头:

^\d+\s*[-\\.)]?\s+

用它来替换空字符串(取决于您使用的语言)。

您可能需要在字符类中添加更多字符,以匹配可能的分隔符。

学习正则表达式的好资料来源:http://www.regular-expressions.info/

答案 1 :(得分:0)

(?=\d*\s*[-\\.]?\s*)([a-zA-Z\s*]+)

您可以在此处查看答案:RegExr

Explanation:

\d*- matches 0 or more occurrence digits
\s* - matches 0 or more occurrence whitespace after the number
[-\\.]? - matches 0 or 1 occurrence of '-' '.' '\'
\s* - matches 0 or more occurrence whitespace after that
([a-zA-Z\s*]+) -matches any characters after that (items you need to extract)