2

我是正则表达式的新手,我想知道我将使用什么表达式将一些数字从字符串的开头移动到结尾,即我想转换它:

'01 这里有一些不同长度的文字'

对此:

'这里有一些不同长度的文字 01'

如果这有什么不同的话,这些数字总是两位数。

有人可以帮忙吗?

4

2 回答 2

5

搜索模式:^(\d{2})\s*(.+)

替换模式:$2 $1

对于随机计数的数字搜索模式将是^(\d+)\s*(.+)

于 2013-05-16T20:37:51.547 回答
2

在正则表达式中:

  • 行首是 ^
  • 数字可以表示为 [0-9] 或 \d
  • . 代表任何字符
  • 重复可以用*表示
  • 可以使用 () 捕获模式
  • 捕获组的名称为 $1, $2 ... $n

总而言之,以下模式应该与您的字符串匹配。

^(\d\d) (.*)

在上面的示例中,我捕获了 $1 中的数字和 $2 中的其余字符串;所以现在可以通过交换它们来实现所需的输出,如下所示:

$2 $1 
于 2013-05-16T20:41:04.007 回答