50字以下行的Regec

时间:2016-06-17 06:00:42

标签: regex

我尝试了moment(new Date("2016" + "/" + "06" + "/01").toISOString()).format('MMMM YYYY'),但它根本不起作用。

我想要一个由任何字符组成的线来匹配这个正则表达式。

(^[.*]{1,50}$)/gm

但是,超过50个字符的行不应该匹配。

2 个答案:

答案 0 :(得分:3)

您正在指定1-50次出现的.*字符串。如果你想要一个任何字符的字符串,[...]字符类是错误的(它枚举你想要匹配的文字字符);您正在寻找没有方括号的.,它与任何一个字符匹配。

正则表达式是

^.{1,50}$

某些语言要求您在正则表达式周围指定/.../之类的分隔符,但很难从您的示例中判断出您的是否是其中之一;在这种情况下,您缺少开始分隔符。

如果您需要在同一行上找到多个匹配项,则/g标志才有意义。如果/m^锚点与多行文字中的换行符匹配,$标记就有意义。

如果您的问题标题正确,并且您希望在 50个字符下正确,请将50更改为49(也许1更改为0)。

答案 1 :(得分:1)

你的正则表达式,[.*]只匹配点.*,因为在[]内部,两者都是字面上对待的。尝试

/^.{1,50}$/gm

匹配介于1到50之间。如果您还想捕获,则添加括号

/(^.{1,50}$)/gm