[英]Extraction of characters of particular length from a given string in python Regex
[英]How to extract characters of particular length from a given string in python Regex
如何从python Regex中的给定字符串中提取特定长度的字符
嗨,我有像,
例如:
在这里我需要提取NEG作为我在python中编写正则表达式
Portability(.+?) Ratio,
Portability(.+?)Ratio
在可移植性之后我第一次“NEG”是我应该得到的价值。 第一个和第二个记录给出正确的输出为“NEG”。 但在我的第三张唱片中,我得到的是“NEG NEG”,这是一个错误的值。
我也只需要获得第三个记录的“NEG”。我应该给前三个字符的长度只取“NEG”。 如果是这样,请告诉我如何根据这一点编写正则表达式?
的.
表示任何字符, +
符号表示“至少一个”但不指定上限。 你想要\\w{n}
,其中\\w
表示字符, n
表示出现次数。
另请注意\\w
包含算术数字,因此如果您只想要字母,最好使用[a-zA-Z]{3}
如果在使用Portability
之后必须提取任何 3个字符
re.findall(r"Portability(.{3}).*?Ratio", s)
请参阅正则表达式演示
如果这些是大写字母,请用[AZ]{3}
替换.{3}
[AZ]{3}
。
细节 :
Portability
- 文字字符序列 (.{3})
- 捕获组1:正好3个字符(如果不使用re.S
/ re.DOTALL
修饰符,则除了换行符之外的任何字符),因为{3}
是一个限制量词,匹配内部定义的出现次数{...}
.*?Ratio
- 除了换行符之外的任何0+字符尽可能少(因为*?
是一个惰性量词)直到第一个Ratio
子字符串。 re.findall
只返回捕获的值,因此您只能获得NEG
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.