使用以下内容匹配字符串的正确正则表达式是什么?
:
我想出了这个,但不知道它是否足够:
.{16}:
答案 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”(全局)。
希望它有所帮助!