正则表达式匹配LF中的最后一个字符

时间:2018-01-20 09:26:40

标签: regex character notepad++ line

我正在尝试匹配以下行中的最后一个字符:

+-------------+-------------+-------+----------+
| id_register | id_students | total | id_class |
+-------------+-------------+-------+----------+
| 3           | 2           | 80    | 2        |
+-------------+-------------+-------+----------+
| 1           | 1           | 75    | 1        |
+-------------+-------------+-------+----------+
| 6           | 3           | 75    | 3        | */ id_class = 3 instead of 1 since it's still not reach the max capacity
+-------------+-------------+-------+----------+
| 7           | 4           | 75    | 3        |
+-------------+-------------+-------+----------+

当每一行以大写11/30/2017 6:05:34 PM 11/16/2017 12:47:31 PM 11/28/2017 12:43:33 PM 11/21/2017 9:24:55 AM 结束时,我认为最好尝试匹配MM似乎没有用,有什么想法吗?

2 个答案:

答案 0 :(得分:0)

使用[^M]您使用negated character class。这将匹配不是M的字符。

如果您使用M[\n],如果它不以换行符结尾,则可能与最后一个不匹配。

您可以使用M$匹配字符串M末尾的$

答案 1 :(得分:0)

[^M]是一个反向字符类。它匹配任何 M

一种简单的方法是打开多行选项,以便^$匹配行的开头和结尾(而不是整个字符串),并使用这个正则表达式

M$

如果您没有多线选项,可以尝试

M(?=\n|$)

这使用前瞻,因此新的线条角色不会出现在比赛中。