<!DOCTYPE html><html lang="zh-CN"><head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>字符串匹配 - matchAll</title><style>* { margin: 0; padding: 0; box-sizing: border-box; }body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;background: linear-gradient(135deg, #8E2DE2 0%, #4A00E0 100%);min-height: 100vh;padding: 20px;}.container {max-width: 900px;margin: 0 auto;background: white;border-radius: 15px;box-shadow: 0 10px 30px rgba(0,0,0,0.3);overflow: hidden;}.header {background: linear-gradient(135deg, #8E2DE2 0%, #4A00E0 100%);color: white;padding: 30px;text-align: center;}.header h1 { font-size: 28px; margin-bottom: 10px; }.content { padding: 30px; }.section { margin-bottom: 30px; }.section h2 {color: #333;margin-bottom: 15px;padding-bottom: 10px;border-bottom: 2px solid #8E2DE2;}.code-block {background: #f8f9fa;border-left: 4px solid #8E2DE2;padding: 15px;margin: 15px 0;border-radius: 5px;font-family: 'Courier New', monospace;overflow-x: auto;}.demo-area {background: #f8f9fa;padding: 20px;border-radius: 10px;margin: 20px 0;}.btn {background: linear-gradient(135deg, #8E2DE2 0%, #4A00E0 100%);color: white;border: none;padding: 10px 20px;border-radius: 5px;cursor: pointer;font-size: 14px;margin: 5px;transition: transform 0.2s;}.btn:hover { transform: translateY(-2px); }.result {background: white;padding: 15px;border-radius: 5px;margin-top: 15px;border: 1px solid #ddd;min-height: 50px;}.result-item {padding: 8px;margin: 5px 0;background: #f3e5f5;border-radius: 3px;font-family: 'Courier New', monospace;}.info-box {background: #f3e5f5;border-left: 4px solid #9c27b0;padding: 15px;margin: 15px 0;border-radius: 5px;}</style></head><body><div class="container"><div class="header"><h1>字符串匹配 - matchAll</h1><p>使用正则表达式全局匹配所有结果</p></div><div class="content"><div class="section"><h2>📖 语法说明</h2><div class="code-block"><code>str.matchAll(regexp)</code></div><div class="info-box"><strong>参数:</strong><br>- regexp: 正则表达式对象(必须带g标志)<br><strong>返回值:</strong>迭代器对象,包含所有匹配结果</div></div><div class="section"><h2>🎯 交互演示</h2><div class="demo-area"><h3>字符串: "Hello World 123 JavaScript 456"</h3><button class="btn" onclick="matchAllBasic()">全局匹配</button><button class="btn" onclick="matchAllCapture()">捕获组</button><button class="btn" onclick="matchAllDigits()">提取数字</button><button class="btn" onclick="matchAllWords()">提取单词</button><div class="result" id="result"><p style="color: #999;">点击按钮查看结果...</p></div></div></div><div class="section"><h2>💡 常用场景</h2><div class="code-block"><code>// 提取所有匹配<br>for (const match of str.matchAll(/\\d+/g)) { ... }<br><br>// 转换为数组<br>const matches = [...str.matchAll(/\\w+/g)];</code></div></div></div></div><script>const str = 'Hello World 123 JavaScript 456';function showResult(title, result) {document.getElementById('result').innerHTML = `<div class="result-item"><strong>${title}</strong></div><div class="result-item">结果: ${result}</div>`;}function matchAllBasic() {const matches = [...str.matchAll(/[a-z]+/gi)];const result = matches.map(m => m[0]).join(', ');showResult("str.matchAll(/[a-z]+/gi)", result);}function matchAllCapture() {const matches = [...str.matchAll(/(\\w+)\\s+(\\d+)/g)];const result = matches.map(m => `${m[1]}: ${m[2]}`).join(', ');showResult("str.matchAll(/(\\w+)\\s+(\\d+)/g)", result);}function matchAllDigits() {const matches = [...str.matchAll(/\\d+/g)];const result = matches.map(m => m[0]).join(', ');showResult("str.matchAll(/\\d+/g)", result);}function matchAllWords() {const matches = [...str.matchAll(/[A-Z][a-z]+/g)];const result = matches.map(m => m[0]).join(', ');showResult("str.matchAll(/[A-Z][a-z]+/g)", result);}</script></body></html>
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。