首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >正则表达式-用XRegExp替换

正则表达式-用XRegExp替换
EN

Stack Overflow用户
提问于 2013-09-06 12:29:22
回答 1查看 1.7K关注 0票数 2

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

我正在使用Javascript的XRegExp库来生成一个正则表达式,该表达式与任何字母表中的任何单词相匹配,并且不匹配带有数字、标点符号或特殊字符的单词。这个库可以在这里找到:http://xregexp.com/

到目前为止,这就是我所拥有的:

代码语言:javascript
复制
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"));
}

这将产生以下输出:

代码语言:javascript
复制
Hello : true
Hello789 : false
Hello£*&£ : false
你好世界 : true
你好世界((£& : false 

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

代码语言:javascript
复制
Hello : Hello
Hello789 : Hello
Hello£*&£ : Hello
你好世界 : 你好世界
你好世界((£& : 你好世界

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

代码语言:javascript
复制
XRegExp.replace(tests[i], '^\\p{L}+$', ''));
XRegExp.replace(tests[i], '\\p{L}+$', ''));
XRegExp.replace(tests[i], '^\\p{L}', ''));
XRegExp.replace(tests[i], '\\p{L}', ''));

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

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-09-06 12:38:47

正则表达式只匹配字母,但听起来似乎要匹配除字母以外的所有内容:

代码语言:javascript
复制
var reg = XRegExp('\\P{L}+', 'g');

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

代码语言:javascript
复制
XRegExp.replace(tests[i], reg, '');
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18657921

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档