6

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

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

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

4

7 回答 7

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

于 2010-03-28T09:10:18.017 回答
7
var html = '<HTML><HEAD><BODY>TEST</BODY></HEAD></HTML>';
var regex = /<([^>]*)>/g;
html = html.replace(regex, function(x) { return x.toLowerCase() });
alert(html);
于 2010-09-14T03:58:00.427 回答
4

小写

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

和大写

s/[a-z]/\u&/g
于 2011-06-09T23:33:54.527 回答
1

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

var pattern:RegExp = /[A-Z]/g;
contentstr = contentstr.replace(pattern,function(a:String,b:int,c:String):String { return a.toLowerCase() } );
于 2011-02-18T14:00:17.733 回答
0

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

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

于 2010-03-27T14:15:33.877 回答
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:如何将找到的 string.replace 值传递给函数?

于 2012-08-30T16:10:21.673 回答
0

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

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

于 2013-05-15T11:55:15.350 回答