javascript - 匹配字符串中没有标题大小写的单词 - 正则表达式

标签 javascript regex

我正在尝试用 RegEx 匹配此序列中的任何单词(例如:1943 The brown Fox Jumped),这是一个以数字开头的字符串,然后是数字之间有空格的单词。我花了几个小时试图弄清楚如何匹配该序列中没有标题大小写的任何单词(例如,The Brown Fox Jumped)。如果所有 单词不是标题大小写,但如果一个或两个单词位于句子中间,我已经想出了如何匹配。我将如何着手创建一个正则表达式来检测一个或多个单词是否没有标题大小写?

我目前使用的模式是 /(?<=^\d+\s)([a-z]+)/g . Here是我最后一次尝试的 Regex101 演示。如前所述,如果字符串中的所有单词都不是标题大小写,我想出了如何匹配,如 this 所示。 Regex101 演示。任何帮助将不胜感激:)

最佳答案

如果必须使用正则表达式,您可以使用基于无限宽度后视的正则表达式解决方案:

/(?<=^\d+\s.*?)\b[a-z]+\b/gs

参见 regex demo .

详情

  • (?<=^\d+\s.*?) - 与紧接其前的位置相匹配的正后视
    • ^ - 字符串开始
    • \d+ - 1+ 位数
    • \s - 一个空格]
    • .*? - 尽可能少的任何 0 个或更多字符
  • \b[a-z]+\b - 由小写 ASCII 字母组成的整个单词。

注意:此正则表达式在 IE 和不支持 ECMAScript 2018+ 标准的旧版浏览器中不起作用。

关于javascript - 匹配字符串中没有标题大小写的单词 - 正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63558162/

相关文章:

javascript - 在更高级别表单的组件之间传递表单字段时出现问题

javascript - NodeJs : Unexpected token < error in javascript file

java - 在每 4 个字符处拆分一个字符串?

regex - 正则表达式中 * 和 .* 有什么区别?

javascript - Meteor 句柄将数据库字段值作为变量返回

javascript - 破坏 promise 链并根据链中被破坏的步骤调用函数(拒绝)

javascript - 使用 Jquery $getJSON 内部的追加方法

java - 仅匹配未转义的特殊字符的正则表达式

Python复杂的正则表达式字符串扩展

ruby-on-rails - _是什么?下面的正则表达式是什么意思?