And*_*ius 1 python regex match
我会直截了当:我有一个这样的字符串(但有数千行)
Ach-emos_2
Ach. emos_54
Ach?mos_18
?žuolas_4
Somtehing else_2
Run Code Online (Sandbox Code Playgroud)
我需要删除不符合行a-z和?????š??ž加上_加any integer(第三和第四线匹配这一点).这应该是不区分大小写的.我认为正则表达式应该是
[a-z?????š??ž]+_\d+ #don't know where to put case insensitive modifier
Run Code Online (Sandbox Code Playgroud)
但是,应该如何看待匹配非alpha(和立陶宛字母)加上下划线加整数的行的正则表达式?我试过了
re.sub(r'[^a-z?????š??ž]+_\d+\n', '', words)
Run Code Online (Sandbox Code Playgroud)
但没有好处.
提前谢谢,对不起,如果我的英语不太好.
至于使匹配大小写不敏感,您可以使用模块中的I或IGNORECASE标志re,例如在编译正则表达式时:
regex = re.compile("^[a-z?????š??ž]+_\d+$", re.I)
Run Code Online (Sandbox Code Playgroud)
至于删除不匹配此正则表达式的行,你可以简单地构建一个新的字符串,由该行做匹配:
new_s = "\n".join(line for line in s.split("\n") if re.match(regex, line))
Run Code Online (Sandbox Code Playgroud)