Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/280.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正则表达式don';无法识别模式_Python_Regex - Fatal编程技术网

python正则表达式don';无法识别模式

python正则表达式don';无法识别模式,python,regex,Python,Regex,首先,我已经阅读了关于正则表达式的python文档,我无法重写我的正则表达式以便与python re模块一起使用。 因此,它是一个基本正则表达式: \_*([A-Z][A-Z]+\_*[A-Z|0-9|\_]*)+\_* 我知道这对于我的目的来说是可以的,因为对于egrep,它完全匹配我想要的内容,但是python继续为每个分析的字符串返回None 编辑 预期输出是以或不以u开头的所有内容,都是大写,以字母开头,之后可能是字母或数字,也可能是uxxx,XX_X,XXX,XX_XXXX_XX_

首先,我已经阅读了关于正则表达式的python文档,我无法重写我的正则表达式以便与python re模块一起使用。 因此,它是一个基本正则表达式:

\_*([A-Z][A-Z]+\_*[A-Z|0-9|\_]*)+\_*
我知道这对于我的目的来说是可以的,因为对于egrep,它完全匹配我想要的内容,但是python继续为每个分析的字符串返回None

编辑 预期输出是以或不以u开头的所有内容,都是大写,以字母开头,之后可能是字母或数字,也可能是uxxx,XX_X,XXX,XX_XXXX_XX_
其中输入是带有小写字母和空格的字符串

首先,您的正则表达式可以改进,我可以向您推荐一些更像
?[A-Z][A-Z0-9+

正如rugie所说,你不需要逃避
,而
[A-Z | 0-9 | \\\\\u]
将不会真正按照你想要的方式工作(见dawg的评论)

第二,您使用了re模块的哪个功能?如果它是
re.match
,它可能不起作用,因为
re.match
从字符串开始搜索。 您想知道您的模式是否在字符串中,还是捕获该字符串中的所有模式?您可以使用
re.search
搜索第一个,使用
re.findall
搜索第二个


告诉我们您尝试了什么,我们将能够为您提供更多帮助。

添加您认为应该匹配和不应该匹配的字符串。匹配正则表达式的输入字符串是什么?预期的输出是什么?可疑的
[A-Z | 0-9 | \
:更改在字符类中不起作用。它只与
[]
中的一个字符相匹配。您不需要转义
\uu
我已经设法使用findall并重写了一个更好的(pythonic)正则表达式,现在我能够找到我要找的!谢谢你,利亚德!很高兴知道:)