正则表达式大写到小写

时间:2010-03-27 14:08:01

标签: regex flex replace lowercase

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

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

输出应该如下所示:“hi guys”

7 个答案:

答案 0 :(得分:7)

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

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变量是引用函数参数的内部变量。希望有所帮助,

兰斯

答案 1 :(得分:7)

var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>';
var regex = /<([^>]*)>/g;
html = html.replace(regex, function(x) { return x.toLowerCase() });
alert(html);

答案 2 :(得分:4)

改为小写

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

和大写

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

答案 3 :(得分:1)

在ActionSctipn 3

中将所有较高的英文字母更改为较低的字母
var pattern:RegExp = /[A-Z]/g;
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() } );

答案 4 :(得分:0)

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

为什么不简单地使用toLowerCase()

答案 5 :(得分:0)

您可以使用函数作为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?

答案 6 :(得分:0)

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

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

相关问题