【问题标题】:regex uppercase to lowercase正则表达式大写到小写
【发布时间】:2011-02-01 12:58:28
【问题描述】:

是否可以将正则表达式模式匹配转换为小写?

var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);

输出应如下所示:“嗨,伙计们”

【问题讨论】:

    标签: regex apache-flex replace lowercase


    【解决方案1】:

    你可以做这样的事情,但是用你需要的替换模式:

    public static function lowerCase(string:String, pattern:RegExp = null):String
    {
        pattern ||= /[A-Z]/g;
        return string.replace(pattern, function x():String
        {
            return (arguments[0] as String).toLowerCase();
        });
    }
    
    trace(lowerCase('HI GUYS', /[HI]/g)); // "hi GUYS";
    

    arguments 变量是引用函数参数的内部变量。希望对你有帮助,

    兰斯

    【讨论】:

    • 谢谢,我会试一试,但看起来很有希望:)
    【解决方案2】:
    var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>';
    var regex = /<([^>]*)>/g;
    html = html.replace(regex, function(x) { return x.toLowerCase() });
    alert(html);
    

    【讨论】:

      【解决方案3】:

      小写

      s/[A-Z]/\l&/g
      

      转大写

      s/[a-z]/\u&/g
      

      【讨论】:

        【解决方案4】:

        在 ActionSctipn 3 中将所有大写英文字母更改为小写

        var pattern:RegExp = /[A-Z]/g;
        contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() } );
        

        【讨论】:

          【解决方案5】:

          不,使用正则表达式是不可能的。您只能将A 替换为a,将B 替换为b,等等。不能一次全部替换。

          为什么不直接使用toLowerCase()

          【讨论】:

          • 我想替换html标签,这些标签是大写的,但是XHTML只允许小写标签,所以我需要它们是小写的
          【解决方案6】:

          您可以使用函数作为 string.replace 的第二个参数

          在你的情况下,你可以使用

          var pattern:RegExp;
          var str:String = "HI guys";
          pattern = /([A-Z]+)/g;
          str = str.replace(pattern, function(search, match1) { 
             return match1.toLowerCase() }
          );
          

          在此处了解更多信息 Javascript: how to pass found string.replace value to function?

          【讨论】:

            【解决方案7】:

            如果要将完整的字符串转换为小写,请在 javascript 中使用 .toLowerCase().toUpperCase()

            如果您想用小写替换字符串中的特定字母,那么Regex 更好。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2017-12-30
              • 1970-01-01
              • 1970-01-01
              • 2011-04-22
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多