在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