如何匹配直到'。'在使用perl的字符串中

时间:2017-03-04 15:40:48

标签: regex perl match

我正在尝试编写匹配正则表达式以从perl中的字符串中提取文本。

字符串可以是:

  

我是一个男人。我不是女人。

我希望匹配第一次出现'。',但是如果我使用[^.],它只返回第一个字符,即'我'而不是'我是男人'。

如何撰写我的[]表达式?

2 个答案:

答案 0 :(得分:2)

您可以使用

^[^.]*

表示字符串

开头的任何不是点的字符数

答案 1 :(得分:-1)

您必须添加量词(您希望模式匹配的次数)。默认情况下,它是一个。

[^.]{5}

这匹配任何不是. 5次的东西。

[^.]{2,}

这匹配任何不是. 2次或更多次的内容。

[^.]{2,5}

这匹配任何非. 2,3,4或5次的任何内容。

[^.]*

量词*表示0次或更多(它是{0,}的快捷方式)。所以这匹配任何不是. 0次或更多次的东西。

[^.]+

量词+表示一次或多次(它是{1,}的快捷方式)。所以这匹配任何不是.一次或多次的东西。 这就是你想要的

[^.]?

量词?表示0次或一次(它是{0, 1}的快捷方式)。所以这匹配任何非. 0次或一次。