句子中某个单词的正则表达式

标签 regex coffeescript

所以我试图匹配一个(任何)单词:

  1. 至少一个大写字母
  2. 至少一个小写字母
  3. 至少一个数字

我目前使用前瞻来实现这一点

^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).+$

但我无法将其匹配到一个单词。我尝试在前瞻中使用 \b 但它不起作用。我试图匹配的单词可以以任何顺序具有上述条件。示例:aB5 OR Ba5 OR 5Ba 等。需要一些指示。

最佳答案

主要问题是 . 包含空格。您需要将 . 更改为仅限单词字符,即 \w。请注意,\w(大部分)是[A-Za-z0-9_],如果您希望排除其中一些或包含更多内容,您应该进行适当的更改.

另一件事是,如果您要在字符串中查找单词,则需要删除 ^$ 因为它们分别表示字符串的开头和结尾.

由于您的所有要求都是“至少”(而不是“最多”),因此您实际上并不需要 \b 因为匹配是从左到右发生的,因此您可以永远不会得到单词的一部分。

正则表达式:

(?=\w*\d)(?=\w*[a-z])(?=\w*[A-Z])\w+

Test .

关于句子中某个单词的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18213571/

相关文章:

node.js - Grunt : Watch multiple files, 仅编译已更改

javascript - 当 Controller 更改时动态调用方法

coffeescript - CoffeeScript 中的 Levenshtein 距离公式?

javascript - 在 Coffeescript 中重用 ajax 变量

regex - 类似 Perl 的速记字符类在括号表达式中不起作用

javascript - 如何防止正则表达式中字符串末尾出现多余字符?

Python:正则表达式从单词中剥离模式并打印其余部分

python - 从整个 Python Pandas 数据框中删除美元符号

node.js - mongodb Node 崩溃,try catch 异常

c# - 替换 C# 字符串中的数字