gpt4 book ai didi

javascript - 如何匹配 "two or more words"

转载 作者:行者123 更新时间:2023-11-30 07:01:26 28 4
gpt4 key购买 nike

在给定的字符串中,我试图验证至少有两个词,其中一个词被定义为任何非数字字符,例如

// Should pass
Phil D'Sousa
Billy - the - Kid

// Should Fail
Joe
454545 354434

我认为这应该可行:

(\b\D*?\b){2,}

但事实并非如此。

最佳答案

您忘记在“单词”之间留出空格:

\b\D*?\b(?:\s+\b\D*?\b)+
^^^

我还可以看到许多其他问题:

我也很怀疑你对“词”的定义。任何非数字字符还包括标点符号和空格。这可能不是你真正的意思。您可能想尝试像这样定义单词:[^\d\s]+。这仍然允许单词包含标点符号,但不允许同时包含数字和空格。

您对单词边界的使用存在问题 - 如果一个单词可以包含标点符号,那么以标点符号开头或结尾的单词将没有单词边界,因此您的正则表达式将错过它们。

您是否正在搜索至少包含两个“单词”并且可能还包含一些数字的字符串?或者字符串必须只包含“单词”而字符串中的任何地方都没有数字?目前您的正则表达式正在寻找两个连续的“单词”,但通常它们可能不是连续的。

关于javascript - 如何匹配 "two or more words",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3746846/

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