仅匹配以特定char结尾的行

时间:2014-12-28 17:59:28

标签: javascript regex

如何匹配不包含最终点(句号/句号)的行,以便以后添加。

Someword someword someword.

Someword someword someword

Someword someword someword.

这些是我不成功的尝试:

.+(?=\.) 
.+[^.]

---更新

这对我有用:

.+\w+(?:\n)

https://regex101.com/r/sR0aD7/1

5 个答案:

答案 0 :(得分:2)

以下内容应匹配以除点之外的任何内容结尾的字符串:[^.]$ - “除了点之外的任何内容”和文本结束标记。

答案 1 :(得分:1)

  

如何匹配不包含最终点(完整停止/句号)的行,

你可以使用这样的负向前瞻:

/(?!\.$)/

或者你也可以反向测试:

if (!/\.$/.test(input)) { console.log("line is not ending with dot"); }

答案 2 :(得分:1)

正则表达式是我认为你也可以使用这种方法的一种方式--->

 function lastCharacter(sentence){

        var length = sentence.length;
        return sentence.charAt(length-1);
    }

示例: -

输入--->嘿JavaScript非常好。

使用---> lastCharacter('嘿JavaScript很好。');

输出---> ''

在其他情况下,您可以查看是否有条件('。')。

答案 3 :(得分:0)

只需使用以下内容:[^\.]$

$ - 表示行尾。

[^...] - 表示选择不包含" ..."

的行

\. - 这是已转义的"。"字符。它需要被转义,因为.是任何东西。

将它们拉在一起,你会得到一个与你的线匹配的正则表达式.+[^\.]$。您需要m标志(多行)才能使用(我相信)

答案 4 :(得分:0)

这对我有用:

.+\w+(?:\n)

https://regex101.com/r/sR0aD7/1