gpt4 book ai didi

javascript - 匹配由单个空格分隔的单词,开头或结尾没有空格

转载 作者:行者123 更新时间:2023-11-28 18:36:31 25 4
gpt4 key购买 nike

我的目标是创建一个允许字母数字和任何特殊字符的正则表达式。

Example of accepted words:
Test 1
Test 123 !#@#

但它不应该接受单词前后有空格、多个空格或只有空格的字符。

Example of unaccepted words:
Test 1 - spaces before
Test 1 - multiple spaces between
Test(spaces) - spaces after
(only spaces) - only spaces

最佳答案

您可以在空格上分割字符串,而不是使用正则表达式,然后使用every来确保结果中不存在空字符串(这意味着在开头或结尾或单词之间的某个地方有额外的空格)。

const tests = ['Test 1', ' Test 1', 'Test 123 !#@#', 'Test   1', 'Test  ', '   '];

const passes = str => str . split(' ') . every(Boolean);

document.getElementById('results').textContent =
tests.map(str => `'${str}': ${passes(str)}`) . join('\n');
<div id="results" style="white-space: pre; font-family: monospace; "></div>

这个 every(Boolean) 是如何工作的?它将每个元素转换为 bool 真/假值,并确保它们全部转换为真。在 JS 中,空字符串将转换为 false,因此这会检查每个元素不是空字符串。

关于javascript - 匹配由单个空格分隔的单词,开头或结尾没有空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36974753/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com