正则表达式可在句号之前获取所有单个字母

时间:2019-02-19 14:25:49

标签: regex

我正试图提出一个正则表达式表达式,以在句点之前抓取所有单个字母。

例如下面的句子:

-I% sh -c '...%...'

正则表达式应抓住a和d。

使用

a. Lorem ipsum dolor sit amet, consectetur adipiscing elit, d. Donec euismod magna velit, ac tincidunt nisl faucibus eu

我能够捕获第一个/^([^.]+)/ ,但不能捕获随后的a

3 个答案:

答案 0 :(得分:0)

对于ASCII字母demo

/([a-z])\./mgi

对于Unicode字符demo

/(\p{L})\./mg

答案 1 :(得分:0)

如果我对您的理解很好,您会要求使用 lookahead 和'g'修饰符:

console.log(
    "a. Lorem bla bla bla d. Donec euismod,,,"
        .match(/[^.](?=\.)/g)
);
// [ 'a', 'd' ]

g修饰符告诉正则表达式引擎获取所有匹配项,而不是仅获取第一个匹配项。

(?=\.) lookahead 断言,声称(但不匹配)为'。就在上一个断言之后。

答案 2 :(得分:0)

您可以尝试正向预见 在句点之前获取所有单个字母。请参阅REGEX

[a-zA-Z](?=\.)