当前位置: 首页 > 面试题库 >

使用php preg_match(正则表达式)将camelCase单词拆分为单词

闽涵蓄
2023-03-14
问题内容

我将如何拆分单词:

oneTwoThreeFour

放入数组,这样我就可以得到:

one Two Three Four

preg_match

我很累,但这只是整个词

$words = preg_match("/[a-zA-Z]*(?:[a-z][a-zA-Z]*[A-Z]|[A-Z][a-zA-Z]*[a-z])[a-zA-Z]*\b/", $string, $matches)`;

问题答案:

您还可以preg_match_all用作:

preg_match_all('/((?:^|[A-Z])[a-z]+)/',$str,$matches);

说明:

(        - Start of capturing parenthesis.
 (?:     - Start of non-capturing parenthesis.
  ^      - Start anchor.
  |      - Alternation.
  [A-Z]  - Any one capital letter.
 )       - End of non-capturing parenthesis.
 [a-z]+  - one ore more lowercase letter.
)        - End of capturing parenthesis.


 类似资料:
  • 问题内容: 我正在尝试使用运算符-+ * /将正则表达式拆分为1.5 + 4.2 *(5 + 2)等式,以便将输出输入到数组中,以便我可以单独解析 我发现可以使用,但是如果我要保留小数点,它将不会拆分。 我已经尝试过分割,但是它不会在小数点上分割 问题答案: 您还可以使用?:避免捕获组。我把它简化了。

  • 我想匹配单词的一部分,如果模式中单词的长度小于我匹配的字符串,则可以匹配,例如: 输出为true。但是,如果单词长度较大,则返回false,例如: 那么,我怎样才能只匹配单词的一部分呢?

  • 我有一个数据帧,其中一列是一系列字符串,其中截然不同的短语要么是单个单词,要么是用空格分隔的多个单词;每个单词的第一个字母都是大写字母(例如“草莓”或“草莓果酱”)。相反,如果这些词不是同一短语的一部分,则不会间隔开(例如“jamapple”)。 我如何使用regex在一个字符串中根据上面的规则将短语分开(分为“草莓果酱”、“苹果”、“香蕉”、“梨碎”、“土豆”、“杏仁蛋糕”)。然后提取他们?即获

  • 我正在使用以替换子字符串 我现在面临的问题是,只有在字符串替换不支持的情况下,我才想要替换整个单词。< br >因为我必须替换非常非常大的字符串,可能以GB为单位。与字符串替换相比,正则表达式非常慢。< br >例如:text: - 正则表达式将时间缩短了近 100 倍(https://medium.com/codezillas/golang-replace-vs-regexp-de4e48482

  • 我正在尝试抓取模式中第一个连字符之后的文本 但在此模式中: 我希望它跳过‘不想要的’文本,并匹配的文本后面的下一个连字符(DesiredText)。我创建了一个具有两种模式regex101,并需要修改我的基本regex,以便如果中存在一个或多个我不想匹配的单词,那么它将匹配第二个连字符文本: https://regex101.com/r/vesqh3/1

  • 我正在尝试通过双正斜杠和/或特定字符串(如“and”)拆分文本。 示例A返回两个匹配项:text1 A/S text2 A/B 示例B返回三个匹配项:text1。文本2、文本3- 我得到了一个非常有用的技巧:如何通过单个正斜杠拆分字符串:使用RegExp在单个正斜杠上拆分字符串,但试图找到一个排除两个正斜杠或一个字符串的解决方案,被证明是太有挑战性了。 如果有可能将两个示例合并为一个解决方案,则加