我是 Javascript 和一般正则表达式的新手,我将不胜感激我能得到的所有帮助!
考虑以下命令:[不管它在哪里执行]
/禁止汤姆 {打破规则} 5
我需要做的是检测 {} 之间的字符串,用下划线替换空格(_)并删除新字符串周围的大括号。结果示例:
/禁止汤姆 Breaking_The_Rules 5
谢谢,汤姆。
我是 Javascript 和一般正则表达式的新手,我将不胜感激我能得到的所有帮助!
考虑以下命令:[不管它在哪里执行]
/禁止汤姆 {打破规则} 5
我需要做的是检测 {} 之间的字符串,用下划线替换空格(_)并删除新字符串周围的大括号。结果示例:
/禁止汤姆 Breaking_The_Rules 5
谢谢,汤姆。
使用 string.toCharArray() 并解析数组以匹配 { 和空格以替换它们。
你真的不需要 RegEx,因为这可以通过普通的 javascript 来实现:
<script type="text/javascript">
var str = "/Ban Tom {Breaking The Rules} 5";
var oldStr = str.substring(str.indexOf("{"), (str.indexOf("}") + 1));
var newStr = oldStr.replace(/ /g, "_").replace("{", "").replace("}", "");
alert(str.replace(oldStr, newStr));
</script>
var str = '/Ban Tom {Breaking The Rules} 5';
var patt=new RegExp('{[^}].*}',i);
var res = patt.exec(str);
//include res check here.....
var newStr = res[0].replace(/ /g, '_');
newStr = newStr.replace(/[{}]/g, '');
str = newStr.replace(res[0], newStr);
// The Message:
var foo = "/Ban Tom {Breaking The Rules} 5";
// Replace Whitespace in braces:
foo = foo.replace(/\s+(?=[^\{\}]*\})/g, "_");
//Replace braces with nothing:
foo.replace(/[\{\}]/g,""):
第一个正则表达式解释:
\s+ // Match whitespace
(?= // If followed by:
[^\{\}]* // Any number of characters except braces
\} // The closing brace
) // End of the lookahed
这篇文章提供了大部分信息,我只是将其改编为 javascript。