這不會返回我的東西,或regex101,預計:正則表達式:.exec()函數沒有返回預期的輸出
var myString = "Accel World|http://www.anime-planet.com/anime/accel-worldAh! My Goddess|http://www.anime-planet.com/anime/ah-my-goddess";
var reg = /[^|]*/g;
var regResponse = reg.exec(myString);
console.log(regResponse);
根據regex101,這應該只是匹配所有「|」並返回它,但它只匹配第一個字符串Accel World,而不是'|'。
我該如何解決這個問題?
你要求它匹配的零或多個**連續**字符不是'|'。爲什麼不使用'myString.split('|')'來獲取由'|'分隔的字符串數組? – Phil
有趣的是,任何線索爲什麼regex101返回一切,而不是連續?這似乎很奇怪,因爲它強烈推薦。 .split可能會工作,感謝這個想法。 – ActionON
可能是因爲它不使用'exec',它的行爲與你期望的不同。請參閱https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec#Finding_successive_matches – Phil