正则表达式 - 匹配大写字母,特定字符后的简单字符串

标签 regex

我有以下字符串:

step_User_Save_action_Details

我检查每个下划线符号后面的大写或简单字母,但不是全部大写..

示例:

step_User_Save_Action_Details - 应返回False

step_user_save_Action_Details - 应返回True

step_user_save_action_details - 应返回True

尝试一下,但似乎不是捕获它

\bstep(?:_[a-z][a-zA-Z]*)+\b

最佳答案

您可以使用基于负向前瞻的正则表达式:

/\bstep(?!(?:_[A-Z][a-zA-Z]*)+\b)(?:_[a-zA-Z]+)+\b/

RegEx Demo

(?!(?:_[A-Z][a-zA-Z]*)+\b) 是一个负向前视,如果下划线后面紧跟着一个,则匹配失败大写字母。

关于正则表达式 - 匹配大写字母,特定字符后的简单字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32901876/

相关文章:

regex - 仅一组捕获数次

java - 如何仅针对三个不同选项找到句子的第一个单词

javascript indexof regex A-Za-z0-9 总是返回 false

java正则表达式获取字符串的某些部分

PHP 正则表达式定界符,/vs。 |与 {} ,有什么区别?

r - 如何删除R中包含下划线或句点的单元格?

java - 正则表达式从 Jdbc url 查找主机名

ruby - .gsub(/\..../, "").gsub(/\(/, "").gsub(/\)/,"").gsub(/\localhost/, "") <= 少数

python - 在Python中使用正则表达式来匹配单词

JavaScript 正则表达式语法困惑