比方說,我有字符串:得到子,直到第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