2

使用正则表达式,我想匹配行尾的所有非单词字符,或者,如果没有非单词字符,只匹配行尾。

这就是我认为应该简单的:

/\W*$/

也就是说,匹配零个或多个非单词字符,然后是行尾。

我在http://gskinner.com/RegExr/上试过,但没那么简单。

然后,更进一步,我还想在行尾匹配空白,如下所示:

/[\W\s]*$/

也就是说,匹配集合中的零个或多个字符、非单词字符和空白字符,然后是行尾。

当然,这也行不通。

在一天结束时,我想使用 javascript 用句号替换一行末尾不是字母数字字符的任何内容。

4

2 回答 2

2

将该.replace方法与直接正则表达式一起使用,而不是字符串。^是“非”字符。所以任何不是字母数字的东西。

var good = bad.replace(/[^\w]*$/g, "");

证明:

> bad = "asd$f   "
"asd$f   "
> bad.replace(/[^\w]*$/g, "")
"asd$f"
于 2013-03-13T13:21:09.167 回答
1

我的第一种方法是正确的。只是正则表达式工具玩得不好。

任何一个 /\W*$/

或者 /[^\w]*$/

这显然是相同的。

使用这个jQuery 终端对其进行了测试。

于 2013-03-13T13:57:46.200 回答