使用正则表达式匹配缩写的名字

时间:2011-02-24 23:52:22

标签: python regex

我正在尝试匹配具有

的维基百科转储中的名称R. Buckminster Fuller

|name = R. Buckminster Fuller

我有以下正则表达式:

(?<=[n|N]ame = )[\w\W\.\s]+?(?=[^A-Za-z0-9_\s])

它似乎没有用 - 它在R之后的时期被挂起。我错过了什么?

2 个答案:

答案 0 :(得分:3)

删除正则表达式中的^。它没有意义。在[]内,表示排除了以下字符。

不会这样吗?

[n|N]ame = ([\w\.\s]+)

答案 1 :(得分:0)

看看你的正则表达式,你不清楚自己想要做什么。

以下表达式与全名匹配:

(?<=[n|N]ame = )[\w\W\.\s]+

但如果没有关于你的目标的更多信息,我就不可能进一步帮助你。

有关信息,+?修饰符是一个“懒惰匹配”,将匹配尽可能少的字符,在我们的例子中只有'R'。