在JavaScript中,我將如何從"John Smith - Jane Doe"
獲得['John Smith', 'Jane Doe']
,其中-
可以是任何分隔符(\/, + * : ;
)等等,使用正則表達式?
使用new RegExp('[a-zA-Z]+[^\/|\-|\*|\+]', 'g')
只會給我["John ", "Smith ", "Jane ", "Doe"]
正則表達式 - 匹配字組
1
A
回答
2
1
如果你想匹配多個單詞,你需要在你的字符類的空間。我認爲像/[ a-zA-Z]+/g
將是一個起點,通過exec
或通過String#match
重複使用,如下所示:Live copy | source
var str = "John Smith - Jane Doe";
var index;
var matches = str.match(/[ a-zA-Z]+/g);
if (matches) {
display("Found " + matches.length + ":");
for (index = 0; index < matches.length; ++index) {
display("[" + index + "]: " + matches[index]);
}
}
else {
display("No matches found");
}
但它非常有限,龐大的名稱數量比AZ,你可能會想反轉的邏輯和使用否定的類(/[^...]/g
,其中...
是可能的分隔符列表其他字符)。你不想離開「伊麗莎白·佩尼亞」或「傑拉德·豪夫特」出來! :-)
相關問題
- 1. 正則表達式正確匹配組
- 2. 正則表達式正則表達式匹配字符串
- 3. 奇怪的正則表達式(正則表達式)匹配!不匹配數字
- 4. 正則表達式 - 匹配一組詞
- 5. 正則表達式匹配的組
- 6. C#正則表達式匹配數組
- 7. 正則表達式組匹配號碼
- 8. Javascript正則表達式匹配組
- 9. 正則表達式匹配M組
- 10. 正則表達式C#,匹配組
- 11. 正則表達式分組和匹配
- 12. 正則表達式匹配組
- 13. 正則表達式opltional匹配組
- 14. 正則表達式組匹配空間
- 15. 多行正則表達式組匹配
- 16. 正則表達式 - 匹配可選組
- 17. Java正則表達式不匹配 - 組
- 18. 正則表達式匹配組
- 19. 正則表達式匹配組排列
- 20. Perl正則表達式匹配數組
- 21. 正則表達式匹配可選組
- 22. 正則表達式匹配多個組
- 23. 正則表達式匹配組
- 24. 正則表達式匹配
- 25. 正則表達式匹配
- 26. 正則表達式匹配%
- 27. 正則表達式匹配
- 28. 正則表達式匹配
- 29. 正則表達式 - 匹配
- 30. 正則表達式匹配
你總是會有兩個詞? – 2012-07-16 09:24:19
如果你打算投票,那麼請留下評論,爲什麼你這樣做 – 2012-07-16 09:24:48
這是問題,它可能不限於兩個字 – 2012-07-16 09:25:09