Javascript 要匹配最后一个空格字符的正则表达式

Javascript 要匹配最后一个空格字符的正则表达式,javascript,regex,asp-classic,Javascript,Regex,Asp Classic,我需要一些帮助。我正在寻找一个正则表达式,它将匹配字符串中的最后一个空格字符。我正在使用JavaScript和经典ASP 我有一个很长的文本字符串,我把它删减到100个字符。我想删除最后一个字符,以避免拼写错误,如果修剪削减一个字由于100个字符的限制 regex.replace(/[ ]$.*?/ig, ''); 有人有想法吗?谢谢。正则表达式/^.+[^]*$/将只匹配行的最后一个空格。请尝试: 对于任意空白字符: /\s(?=\S*$)/ 那就是 / +$/ 一个空格字符(),至少一

我需要一些帮助。我正在寻找一个正则表达式,它将匹配字符串中的最后一个空格字符。我正在使用JavaScript和经典ASP

我有一个很长的文本字符串,我把它删减到100个字符。我想删除最后一个字符,以避免拼写错误,如果修剪削减一个字由于100个字符的限制

regex.replace(/[ ]$.*?/ig, '');

有人有想法吗?谢谢。

正则表达式
/^.+[^]*$/
将只匹配行的最后一个空格。

请尝试:

对于任意空白字符:

/\s(?=\S*$)/
那就是

/ +$/
一个空格字符(
),至少一次(
+
),位于行的末尾(
$

请注意,在字符类中放置空格是不必要的,除非您希望匹配多个空格字符,例如制表符
[\t]

要真正只匹配最后一个空格,请使用
/$/


编辑:要在最后一个空格后切断所有内容(仔细想想,这似乎是您真正想要的,您可以使用:

regex.replace(/ +\S*$/ig, '');
其中正则表达式的意思是:“行(
$
)末尾至少有一个空格,以及其后的任何非空白字符(
\S*


这只能匹配最后一个空格后的最后一行。作为一种副作用,字符串会在末尾被修剪。

根据我的理解,您需要删除最后一个空格及其后的所有内容,对吗

 str = str.replace(/\s+\S*$/, "")
使用“classic”REs,您需要的是
“[^]*$”
——即一个空格字符,后跟任意数量的非空格字符,后跟行尾。“非空格字符”可能适合您对“单词”的定义,也可能不适合您的定义例如,它也会阻止你在中间剪切一个数字。如果你想限制一个“单词”包含字母,你可以使用:<代码> [[^ -ZA-Z] *$]“< /Cord>”。< /P>
另外请注意,无论哪种方式,如果一个单词恰好以第100个字符结尾,这将与它前面的空格相匹配,因此您将删除最后一个完整的单词。如果您想防止出现这种情况,您(可能)会想看看你删掉的第一个字符,如果是空白,不要从缓冲区中删除任何内容。

@Gumbo:我是遗漏了什么还是这太复杂了?@dclowd9901:这只是练习而已。你使用的频率越高,你的技能就越高。@Tomalak:嗯,这正好匹配字符串中的最后一个空格字符没别的。啊,我错过了一些非常重要的东西。干得好,+1。谢谢@Gumbo,很棒的regexNo,这将或多或少地匹配整行。是的,它会,但它指定了最后一个空格,抱歉我没有具体说明。根据这一点,一个位置合适的抓捕小组会给你想要的。太好了,谢谢你,这正是我所需要的。小伙子听到它在工作,但秋葵是对的-下次试着更精确一些,因为你应该更精确地知道你在找什么。“匹配从最后一个空格到结尾的所有字符”更合适。这有助于匹配最后一个空格后字符串中的所有字符。如何使用它匹配字符串中最后一个空格之前的所有字符?谢谢
 str = str.replace(/\s+\S*$/, "")