用于测试字符串是否同时包含大写和小写字母的正则表达式

标签 regex

我正在寻找一个正则表达式来测试一个字符串是否同时包含大写和小写字母。 我在这方面发现了一些线索,但他们建议使用前向查找,但我似乎无法使其适合我的其余表达,我正在寻找测试:

<b>James Smith (ecg)</b>

但排除这个((ecg)总是小写):

<b>JAMES SMITH (ecg)</b>

到目前为止我有这个:

<b>[A-z\s\W]+(\(ecg\))?\W?<\/b>

这有效,但如果全部大写或全部小写也会匹配。 我试过了,但它仍然匹配所有内容:

<b>(.*(?=.*[a-z])(?=.*[A-Z]).*)[A-z\s\W]+(\(ecg\))?\W?<\/b>

最佳答案

你可以使用

<b>(?=[A-Z\s]*[a-z])(?=[a-z\s]*[A-Z])[\sA-Za-z]*(?:\(ecg\))?<\/b>

参见 regex demo

详情

  • <b> - 一个 <b>正文
  • (?=[A-Z\s]*[a-z]) - 在0个或多个大写字母或空格后,必须至少有一个小写字母
  • (?=[a-z\s]*[A-Z]) - 在0个或多个小写字母或空格后,必须至少有一个大写字母
  • [\sA-Za-z]* - 零个或多个字母/空格
  • (?:\(ecg\))? - 一个可选的 (ecg)正文
  • <\/b> - 一个 </b>文本。

关于用于测试字符串是否同时包含大写和小写字母的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64699233/

相关文章:

php - 在 PHP 中将文本列表转换为 html 的正则表达式

regex - 如何使用 XCode 构建 boost "Getting Started"示例?

regex - 有没有在 bash 中用代字号替换主目录的好方法?

javascript - 如何编写正则表达式以删除 HTMl 缩小器的标签和单词之间的空格

javascript - 正则表达式验证电话号码的 3 种特定形式

arrays - Python 3.73 插入字节数组 = "object cannot be re-sized"

java split - 空间问题

python多行正则表达式

java - 使用正则表达式验证字符串是否以指定字符开头或结尾

java - 需要帮助在java中形成正则表达式