javascript - 当字符串以空格结尾时,为什么我的正则表达式不起作用?

标签 javascript regex whitespace

我正在使用此正则表达式 - [^\s\da-zA-ZåäöÅäÖ]+$ 过滤除 A-Z、0-9 以及瑞典语字符 ÅÄÖ 之外的任何内容>。只要字符串不以空格结尾,它就会按预期工作,并且我对需要纠正什么才能使其接受字符串(即使它们以空格结尾)感到有点困惑。 \s 在那里,但显然还不够。

我的正则表达式有什么问题?

"something #¤%&/()=?".replace(/[^\s\da-zA-ZåäöÅÄÖ]+$/, '') # => a string


"something ending with whitespace #¤%&/()=? ".replace(/[^\s\da-zA-ZåäöÅÄÖ]+$/, '')# => a string ending with space #¤%&/()=? 

最佳答案

您使用的是否定字符类(“任何不是空格、数字、字母等”),因此您的正则表达式无法匹配。

从其中删除 \s 以及 $ (将匹配项与字符串末尾联系起来),它应该可以工作。

如果您确实想在字符串内保留空格并仅在末尾删除它们,请使用

"something with whitespace #¤%&/()=? ".replace(/[^\s\da-zA-ZåäöÅÄÖ]+|\s+$/g, '')

结果:

something with whitespace

关于javascript - 当字符串以空格结尾时,为什么我的正则表达式不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12973273/

相关文章:

javascript - javascript从url获取xml

regex - NOTEPAD++ REGEX - 删除静态字符串和动态字符串之间的所有内容

c - 有没有办法在 scanf() 函数中强制输入空格?

bash - 如何使空格在命令行中可见

css - 如何在底部没有空格的情况下将内联 block 与文本垂直居中?

javascript - 表单在同一页面上发布而不刷新

javascript - 博主iframe评论表单是否限制自定义?

javascript - jQuery:避免每次检查按下的键是否为 'enter'

arrays - 相当于 PHP 的 list() 的 go 是什么?

java - 我如何使用java正则表达式获取日期之间的内容