如何将此PHP正则表达式转换为Javascript正则表达式


How to convert this PHP Regular Expression to a Javascript Regular Expression?

这是我的PHP正则表达式:

if(preg_match('/^(([^,]+,){4}[^,]+'n){3}$/', $all_questions))
{
    //Code here
}

这就是我试图将其转换为Javascript的方式:

if(fullString.match('/^(([^,]+,){4}[^,]+'n){3}$/'))
{
    //Code here
}

尽管如此,PHP和Javascript之间的regex语言略有不同,我不确定如何将其从PHP转换为Javascript。

下面是我试图验证的一个例子:

question1,answer1,answer2,answer3,answer4
question2,answer1,answer2,answer3,answer4
question3,answer1,answer2,answer3,answer4

我需要验证确切的格式,即:

string[comma]string[comma]string[comma]string[comma]string[linebreak]
string[comma]string[comma]string[comma]string[comma]string[linebreak]
string[comma]string[comma]string[comma]string[comma]string[linebreak]

每行总是有5个字符串和4个逗号,从不多也从不少。

这就是我的PHP preg_match的样子:

if(preg_match('/^(([^,]+,){4}[^,]+'n){3}$/', $fullString))
{
    //Code here
}

有人能帮我把它转换成Javascript正则表达式吗?

非常感谢,谢谢!

您不需要在javascript中使用字符串。您可以简单地使用正则表达式对象:

str.match(/^(([^,]+,){4}[^,]+'n){3}$/);

你可以自己试试:http://jsfiddle.net/mBb4S/

此外,MDN还有一些关于正则表达式的不错的信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp