我哈瓦一長串這樣detail?ww=hello"....detail?ww=that"
。我want't得到detail?ww=
和下"
之間的所有字符串,我用.match(/detail\?ww=.+\"/g)
但陣列我得到包含detail?ww=
和"
,我怎麼能只獲得字符串沒有detail?ww=
和"
的javascript:獲取特定字符串之間的字符串
-1
A
回答
1
如果JavaScript的理解回顧後,你可以用它來匹配detail?ww=
前面和後面;
字符串。 Unfotunately事實並非如此,因此需要更多一點的處理:
var str = 'detail?ww=hello"....detail?ww=that"';
var regexG = /detail\?ww\=(.+?)\"/g;
var regex = /detail\?ww\=(.+?)\"/;
var matches = str.match(regexG).map(function(item){ return item.match(regex)[1] });
console.log(matches);
一些更改正則表達式:
+?
- 非貪婪量詞。
0
你可以做到這一點使用一個基本的循環:
var result = [],
s = 'detail?ww=hello"....detail?ww=that"',
r = /detail\?ww=([^"]+)/g,
m;
while (m = r.exec(s)) {
result.push(m[1]);
}
result; // ["hello", "that"]
[^"]+ : any char except double quotes, one or more times
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp/exec
記住map
不受IE8及以下支持:http://kangax.github.io/es5-compat-table/#Array.prototype.map。如果你真的不喜歡循環,但需要一個跨瀏覽器兼容的解決方案,這裏是一個替代方案:
var s = 'detail?ww=hello"....detail?ww=that"';
s = s.replace(/.*?detail\?ww=([^"]+")/g, '$1').match(/[^"]+/g) || [];
s; // ["hello", "that"]
相關問題
- 1. 獲取特定字符串,包括特定字符之間的特定字 - php
- 2. 獲取unix中兩個特定字符之間的字符串
- 3. 提取特定字符串變量之間的字符串
- 4. 如何在字符串的特定子字符串之後獲取字符串?
- 5. 獲取字符串的特定字符
- 6. 獲取符號之間的字符串
- 7. 從字符串獲取特定字符
- 8. 如何獲取另一個字符串內的字符串之間的特定字符串?
- 9. 如何在多行字符串中捕獲特定字符和字符串之間的字符串? Python的
- 10. 獲取字符串之間的字符串
- 11. 獲取字符串之間的字符串在C#
- 12. 使用sed獲取兩個字符串之間的字符串
- 13. 獲取兩個字符串之間的字符串
- 14. 獲取兩個字符串之間的字符串?
- 15. 獲取字符串之間的字符串向量(Php)
- 16. 獲取字符串之間串在bash
- 17. 提取字符串,字符串X和字符串之間ÿ
- 18. 2字符串之間的字符串
- 19. 如何從字符串(url)獲取特定的字符串?
- 20. 獲取字符串的特定子字符串
- 21. 獲取特定子字符串後的字符串
- 22. 插入特定字符之間的字符串在另一個字符串
- 23. 替換字符串中特定字符之間的特定字符
- 24. 字符串Manipultation - 兩個其他字符串之間獲取字符串?
- 25. Swift:如何在特定字符之前獲取字符串?
- 26. C#獲取兩個字符之間字符串中的字符串
- 27. PHP:獲取字符串A和字符串B之間的字符串(多個字符串需要被搜索)
- 28. 在字節之間發送字符串之間的字符串
- 29. 捕獲python中2個字符之間的特殊字符串
- 30. 獲取字符串的特定部分
你可以有一個像'detail?ww = hello = 1;'的字符串嗎? – Jerry
更新:http://stackoverflow.com/a/20621572/1636522。 – leaf