Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python正则表达式捕获非空引用_Python_Regex - Fatal编程技术网

Python正则表达式捕获非空引用

Python正则表达式捕获非空引用,python,regex,Python,Regex,我想用引号捕捉文章中的文字\。我将我的捕获组命名为?P。我使用[^\\.\;]排除引用中的特定字符 它可以工作,但它也可以捕获空引用,空引用是一个介于引用结束和下一个引用开始之间的空格字符。有没有一种方法可以在不影响任何其他空格字符的情况下排除该字符?被求反的字符类[^.]+与列出的字符(也可以是空白字符)之外的任何字符匹配。请注意,您不必转义character类中的字符 如果你想允许空白字符,但不只是空白字符,你可以使用一个消极的前瞻\s+断言在下一个双引号之前不只有空格字符 "(?

我想用引号捕捉文章中的文字\。我将我的捕获组命名为?P。我使用[^\\.\;]排除引用中的特定字符


它可以工作,但它也可以捕获空引用,空引用是一个介于引用结束和下一个引用开始之间的空格字符。有没有一种方法可以在不影响任何其他空格字符的情况下排除该字符?

被求反的字符类[^.]+与列出的字符(也可以是空白字符)之外的任何字符匹配。请注意,您不必转义character类中的字符

如果你想允许空白字符,但不只是空白字符,你可以使用一个消极的前瞻\s+断言在下一个双引号之前不只有空格字符

"(?P<citation>(?!\s+")[^".;]+)"

请参见另一个

求反字符类[^.]+匹配除所列字符外的任何字符,该字符也可以是空白字符。请注意,您不必转义character类中的字符

如果你想允许空白字符,但不只是空白字符,你可以使用一个消极的前瞻\s+断言在下一个双引号之前不只有空格字符

"(?P<citation>(?!\s+")[^".;]+)"

请参阅另一个

在第一个双引号之前禁止仅匹配空格字符?p\成功了,谢谢!我正在尝试一个非捕获组?:\s但它不起作用。在第一个双引号之前,禁止只匹配空格字符?P\成功了,谢谢!我正在尝试一个非捕获组?:\s但它不起作用。
"(?P<citation>[^".;]*[^\s".;][^".;]*)"