RegEx为16个字符,后跟冒号

时间:2012-08-09 19:06:09

标签: regex

使用以下内容匹配字符串的正确正则表达式是什么?

  • 从新行开头的任意16个字符。
  • 后跟冒号:

我想出了这个,但不知道它是否足够: .{16}:

4 个答案:

答案 0 :(得分:5)

您错过了该行的开头^

^.{16}:

答案 1 :(得分:3)

我提供的唯一更正是:

^.{16}:

插入符号(^)锚定在一行的开头。

答案 2 :(得分:1)

那将是:

^(.{16})[?=:]

. almost any character
{n} How many
[?=X] Followed by

也许更简单^。{16}:

答案 3 :(得分:1)

在PHP中,这就像:

/^([^:]{16}):/m

一些细节:

  • ^行开头
  • /是正则表达式分隔符
  • [^:]包裹:以外的任何角色。我不用“。”为了避免在16个字符之间有“:”的情况下出现问题。无论如何你想要抓住它,然后只使用“。”正如你所做的那样。
  • {16}重复16次。
  • ([^:]{16})括号捕获匹配值。它会被存储到一个引用中,以后可以使用“\”或“$”,具体取决于您使用的语言。
  • m这是魔术。 “m”是多线修改器。这将使表达式在文本的每一行中执行。在javascript中,此修饰符为“g”(全局)。
  • 希望它有所帮助!