使用正则表达式,我想匹配行末尾的所有非单词字符,或者,如果没有非单词字符,则仅匹配行末尾。
这就是我认为应该简单的:
/\W*$/
也就是说,匹配零个或多个非单词字符,后跟行尾。
我尝试过http://gskinner.com/RegExr/但事情没那么简单。
然后,更进一步,我还想匹配行尾的空格,如下所示:
/[\W\s]*$/
也就是说,匹配集合中的零个或多个字符、非单词字符和空白字符,后跟行尾。
当然,这也行不通。
最终,我想使用 javascript 替换行末尾不是带有句号的字母数字字符的任何内容。
最佳答案
将 .replace
方法与直接正则表达式一起使用,而不是字符串。 ^
是“非”字符。所以任何不是字母数字的东西。
var good = bad.replace(/[^\w]*$/g, "");
证明:
> bad = "asd$f "
"asd$f "
> bad.replace(/[^\w]*$/g, "")
"asd$f"
关于regex - 如何匹配行尾或仅行尾的任何非单词字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15386391/