Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.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,我想匹配一个包含字母数字和一些特殊字符的字符串,但不匹配换行符。但是,每当我的字符串有换行符时,它也会匹配换行符。我检查了文档中的一些标志,但它们都不相关 以下是Python 3.6.2 REPL中的示例代码 >>> import re >>> s = "do_not_match\n" >>> p = re.compile(r"^[a-zA-Z\+\-\/\*\%\_\>\<=]*$") >>> p.match(

我想匹配一个包含字母数字和一些特殊字符的字符串,但不匹配换行符。但是,每当我的字符串有换行符时,它也会匹配换行符。我检查了文档中的一些标志,但它们都不相关

以下是Python 3.6.2 REPL中的示例代码

>>> import re
>>> s = "do_not_match\n"
>>> p = re.compile(r"^[a-zA-Z\+\-\/\*\%\_\>\<=]*$")
>>> p.match(s)
<_sre.SRE_Match object; span=(0, 12), match='do_not_match'>
>>重新导入
>>>s=“不匹配\u\n”

>>>p=re.compile(r“^[a-zA-Z\+\-\/\*\%\\\\\>\问题是
$
在换行符之前的字符串末尾匹配(如果有)

如果不想匹配末尾的换行符,请在正则表达式中使用
\Z
而不是
$

请参阅模块的文档:

“$”
匹配字符串的结尾或字符串结尾的换行符之前

\Z
仅在字符串末尾匹配


问题是
$
在换行符之前的字符串末尾匹配(如果有)

如果不想匹配末尾的换行符,请在正则表达式中使用
\Z
而不是
$

请参阅模块的文档:

“$”
匹配字符串的结尾或字符串结尾的换行符之前

\Z
仅在字符串末尾匹配


$
替换为
\Z
,这与Python的版本无关。感谢Wiktor。上下文可能相关,但从问题的角度来看,它不是一个清晰的副本。因此,这就是为什么我找不到我要找的答案。此外,我试图提供尽可能多的信息。我感谢help、 将
$
替换为
\Z
,这与Python的版本无关。感谢Wiktor。上下文可能相关,但从问题的角度来看,它不是一个清晰的副本。因此,这就是为什么我找不到我要找的答案。此外,我试图提供尽可能多的信息。我感谢elp。谢谢。我阅读了文档,但不清楚。我接受你的回答。但我仍然不确定为什么regex101忽略了这个事实。我想,你需要在那里使用实际的enter键,而不是
“\n“
。太正确了!谢谢你给我展示了显而易见的东西。:|谢谢。我阅读了文档,但不清楚。我接受你的回答。我仍然不知道为什么regex101忽略了这个事实。我想,你需要在那里使用实际的enter键,而不是
”\n“
。太正确了!谢谢你给我展示了显而易见的东西。:”|