Javascript 正则表达式:不是字母或数字的任何字符
我试图找出一个正则表达式,它将匹配任何不是字母或数字的字符。所以像(,@,()等字符 一旦找到,我想用一个空白来代替它Javascript 正则表达式:不是字母或数字的任何字符,javascript,regex,Javascript,Regex,我试图找出一个正则表达式,它将匹配任何不是字母或数字的字符。所以像(,@,()等字符 一旦找到,我想用一个空白来代替它 任何建议。要匹配字母或数字以外的任何内容,您可以尝试以下方法: [^a-zA-Z0-9] [^\wÀ-úÀ-ÿ] 并取代: var str = 'dfj,dsf7lfsd .sdklfj'; str = str.replace(/[^A-Za-z0-9]/g, ' '); var str = 'dfj,dsf7é@lfsd .sdklfàj1'; str = str.re
任何建议。要匹配字母或数字以外的任何内容,您可以尝试以下方法:
[^a-zA-Z0-9]
[^\wÀ-úÀ-ÿ]
并取代:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
您正在寻找:
var yourVar = '1324567890abc§$)%';
yourVar = yourVar.replace(/[^a-zA-Z0-9]/g, ' ');
这将用空格替换所有非字母数字字符
末端的“g”将替换所有引用
除了指定a-z(小写)和a-z(大写),您还可以使用区分大小写的选项:
/[^a-z0-9]/gi
此正则表达式匹配任何不是字母、数字或下划线(
)字符的字符
\W
例如,在JavaScript中:
"(,,@,£,() asdf 345345".replace(/\W/g, ' '); // Output: " asdf 345345"
这太晚了,但由于没有公认的答案,我想提供我认为最简单的答案:\d-匹配所有非数字字符
var x=“123 235-25%”;
x、 replace(/\D/g,”);
您是否尝试过str=str。replace(/\W | |/g,”);
它将返回一个不带任何字符的字符串,您可以指定在管道条
后面是否有任何特殊字符来捕获它们
var str=“1324567890abc§$)%John Doe#$@。replace(/\W |(ug),)
它将返回str=1324567890abcJohnDoe
或者查找数字和字母,并将其替换为空字符串(“”):
var str=“1324567890abc§$)%John Doe#$@。replace(/\w |(ug),)
它将返回str='§$)%#$@,供其他人查看:
someString.replaceAll("([^\\p{L}\\p{N}])", " ");
将删除任何非字母和非数字unicode字符
试着做str.replace(/[^\w]/);
它将替换字符串中的所有非字母和数字
编辑1:str.replace(/[^\w]/g,”)
要匹配字母、数字以外的任何内容,或字母与变音符号,如,
,您可以尝试以下操作:
[^a-zA-Z0-9]
[^\wÀ-úÀ-ÿ]
并取代:
var str = 'dfj,dsf7lfsd .sdklfj';
str = str.replace(/[^A-Za-z0-9]/g, ' ');
var str = 'dfj,dsf7é@lfsd .sdklfàj1';
str = str.replace(/[^\wÀ-úÀ-ÿ]/g, '_');
灵感来源于顶部立柱,支持变音符号
- 仅匹配字母
/[A-Z]/ig
- 匹配任何非字母的内容
/[^A-Z]/ig
- 仅匹配编号
/[0-9]/g
或/\d+//g
- 匹配任何非数字
/[^0-9]/g
或/\D+/g
- 匹配任何非数字或字母的内容
/[^A-Z0-9]/ig
还有其他可能的模式它也会匹配空格吗?我需要保留空格。谢谢。空格字符会匹配,但随后会被空格字符替换,因此实际上它会将它们单独保留(空格将保留空格)。我相信他正在寻找/(| W)/g,以匹配任何不是数字或字母的东西(英语)@sbmaxx我想替换除&,(,)以外的所有字符。我如何在当前正则表达式中添加此条件。\w
用于单词字符,与[a-zA-Z0-9_z]
完全相同(请注意,下划线被视为单词字符。)…因此缩写应该是str.replace(/[^\w]/g.))
但它也会包含许多unicode字母!有没有办法排除unicode字母?要包含unicode字符,您可以使用[^\p{L}0-9]@Dave:从2018年起,您不能没有多边形填充,显然……有没有办法用空格代替repalce…替换为“\“然后是已识别的字符?这样:将这个dfj,dsf7lfsd.sdklfj转换成这个dfj\,dsf7lfsd\.sdklfj?一个有效的答案是str.replace(/[^\w]/g',)
。如果不包含/g
标记,则它将仅替换第一次出现的标记。如果你没有定义替换字符串,这里有一个空格'
,它将替换为未定义的
。最后,下划线不会被替换,因为它们匹配\w
。这个答案并不完美。我不确定这两个UpVote是从哪里来的,但在JavaScript(这个问题所涉及的)中没有replaceAll
,而且\p{..}
属性转义没有广泛实现。