【问题标题】:How can I tweak this camelCase regex to allow for acronyms?如何调整这个 camelCase 正则表达式以允许首字母缩略词?
【发布时间】:2021-12-14 09:46:04
【问题描述】:

编辑:严格来说,它们不是首字母缩写词,但你明白我的意思。

我发现这个资源非常有用,https://newbedev.com/regex-for-pascalcased-words-aka-camelcased-with-leading-uppercase-letter,但是如果我需要调整小驼峰式版本以允许在名称中间使用一组首字母,该怎么办。例如,作者为小驼峰大小写提供了一个正则表达式,[az]+((\d)|([A-Z0-9][a-z0-9]+))*([AZ])?将匹配以下单词:

xmlHttpRequest
newCustomerId
innerStopwatch
supportsIpv6OnIos
youTubeImporter
youtubeImporter
affine3D

但是呢;

xmlHTTPRequest

名称中间的大写字符串在哪里?

【问题讨论】:

    标签: regex


    【解决方案1】:

    我会使用这个版本,它允许多个大写字母:

    [a-z0-9]+(?:[A-Z0-9]+[a-z0-9]*)*
    

    这是一个demo,表明该模式适用于新的边缘情况。

    【讨论】:

      【解决方案2】:

      如果我理解你是正确的,你只需在 [A-Z0-9] 之后添加一个 +,如下所示:

      [a-z]+((\d)|([A-Z0-9]+[a-z0-9]+))*([A-Z])?
      

      https://regex101.com/r/ONgcrA/1

      【讨论】:

      • +1 非常有用的链接。此外,该解决方案有效,但与上面的评论完全相同。[我指的是自删除的评论]
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-09
      • 2018-03-10
      • 1970-01-01
      • 2020-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多