是否可以将正则表达式模式匹配转换为小写?
var pattern:RegExp;
var str:String = "HI guys";
pattern = /([A-Z]+)/g;
str = str.replace(pattern, thisShouldBeLowerCase);
输出应该如下所示:“hi guys”
答案 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
替换为a
,B
替换为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
会更好。