【问题标题】:Regex to find uppercase and lowercase and any derived words [closed]正则表达式查找大写和小写以及任何派生词[关闭]
【发布时间】:2014-02-14 12:21:47
【问题描述】:

我想删除字符串中的word:

Word , WOrd , WORd , wORd , word , WoRd

我对此进行了研究,但找不到实现此目的的方法。我该如何为此编写正则表达式?

【问题讨论】:

  • 只是谷歌的区分大小写标志。
  • 您一直在搜索,但没有找到不区分大小写的标志?您在寻找什么?在哪里寻找?
  • 您可以更改正则表达式匹配的区分大小写。
  • @M.Eskandari:不清楚你在问什么。您是否在问如何从字符串中删除 words 的所有变体?还是有什么不同?请编辑您的问题并包括预期输出和到目前为止您尝试过的内容。

标签: php regex


【解决方案1】:

从PHP manual看下面的例子

<?php
// The "i" after the pattern delimiter indicates a case-insensitive search
if (preg_match("/php/i", "PHP is the web scripting language of choice.")) {
    echo "A match was found.";
} else {
    echo "A match was not found.";
}
?>

【讨论】:

    【解决方案2】:

    使用/i 修饰符忽略大小写。

    $input = preg_replace("/word/i", "", $input);
    

    【讨论】:

    • 希望这不是一篇关于 swords 的文章。
    • 没关系!你知道什么是正则表达式和更多样本的参考吗??
    • @M.Eskandari: regular-expressions.info 非常好。如果您正在寻找一本书,可以尝试“掌握正则表达式”。
    【解决方案3】:

    可能不是你想要的,但这里是......

    $words = "Word , WOrd , WORd , wORd , word , WoRd";
    $wordArray = explode(",", $words);
    
    foreach($wordArray  as $key=>$word){
        if($word==strtolower($word)){
            unset($wordArray[$key]);
        }
    }
    

    【讨论】:

    • 最佳答案。 +1。可能只是因为缺少 10 个选项而被否决。
    猜你喜欢
    • 1970-01-01
    • 2016-02-24
    • 2013-12-25
    • 1970-01-01
    • 2011-02-01
    • 2018-10-12
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多