比方说,我有字符串:得到子,直到第n个匹配的正则表达式
"Hello world; some random text; foo; bla bla; "
我会为了得到一个子,直到第二;
使用什么正规表示法。
换句话说,我会喜欢与子"Hello world; some random text;"
也许我想要得到的字符串,直到3TH结束了;因此结束于:
"Hello world; some random text; foo;"
比方说,我有字符串:得到子,直到第n个匹配的正则表达式
"Hello world; some random text; foo; bla bla; "
我会为了得到一个子,直到第二;
使用什么正规表示法。
换句话说,我会喜欢与子"Hello world; some random text;"
也许我想要得到的字符串,直到3TH结束了;因此结束于:
"Hello world; some random text; foo;"
试试这个。应该工作得很好。
/([\w\s]+?\;){2}/
使用方法如下:
var str = "Hello world; some random text; foo; bla bla; ";
var match = str.match(/([^;]*;){2}/)[0];
alert(match); // Hello world; some random text;
如果你没有使用正则表达式,你可以使用Split()方法,用分号分隔:
我不认为这是使用RegExps最好解决的问题。用直线JS很容易做到这一点。 http://jsfiddle.net/mendesjuan/xvM53/1/
var str = "Hello world; some random text; foo; bla bla; ";
function getParts(str, delimiter, partCount) {
return str.split(delimiter,partCount).join(";");
}
信贷,这是由于:我无耻地使用diEcho的想法,我不记得,你可以通过拆分第二个参数。
真的很挑剔,最后的分号仍然缺失。 :-) – henko 2012-01-11 05:36:22
@henko:是的,但现在我看到它是可行的用一个简单的正则表达式... – 2012-01-11 05:43:38
很可能甚至简化为'/([^]){2} /'。 – henko 2012-01-11 05:25:19
我不知道该怎么称呼它。请张贴使用此Reg Reg所需的全部代码。 – 2012-01-11 05:25:56
'VAR STR = “你好世界;一些随机文本; FOO;血乳酸血乳酸;”;'' 变种匹配= str.match(/([\ W \ S] + \;){2} /)[0 ];' – 2012-01-11 05:32:27