gpt4 book ai didi

javascript - 正则表达式 - 用 XRegExp 替换

转载 作者:行者123 更新时间:2023-11-29 22:09:49 25 4
gpt4 key购买 nike

我觉得这将是一个愚蠢的问题,但我完全感到困惑。

我正在使用 Javascript 的 XRegExp 库生成一个正则表达式,该正则表达式匹配任何字母表中的任何单词,但不匹配带有数字、标点符号或特殊字符的单词。图书馆位于此处:http://xregexp.com/

这是我目前所拥有的:

var tests = [
"Hello",
"Hello789",
"Hello£*&£",
"你好世界",
"你好世界((£&"
];

var reg = XRegExp('^\\p{L}+$');

for (var i = 0; i < tests.length; i++) {
console.log (tests[i] + " : " + (reg.test(tests[i]) ? "true" : "false"));
}

这会产生以下输出:

Hello : true
Hello789 : false
Hello£*&£ : false
你好世界 : true
你好世界((£& : false

我知道 reg 匹配正确的东西,但我如何在替换中使用它以便删除数字、标点符号和特殊字符?我想要的输出是:

Hello : Hello
Hello789 : Hello
Hello£*&£ : Hello
你好世界 : 你好世界
你好世界((£& : 你好世界

这些是我到目前为止尝试过的,但没有成功:

XRegExp.replace(tests[i], '^\\p{L}+$', ''));
XRegExp.replace(tests[i], '\\p{L}+$', ''));
XRegExp.replace(tests[i], '^\\p{L}', ''));
XRegExp.replace(tests[i], '\\p{L}', ''));

所有这些都返回我给它们的相同字符串,没有任何变化。有人知道我做错了什么吗?

最佳答案

您的正则表达式只匹配 个字母,但听起来您想匹配 个字母之外的所有字母:

var reg = XRegExp('\\P{L}+', 'g');

然后您可以替换所有与空字符串匹配的内容。

XRegExp.replace(tests[i], reg, '');

关于javascript - 正则表达式 - 用 XRegExp 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18657921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com