我在Regex中遇到了一个问题,需要搜索文档中所有可用的字母数字序列。一个文档可以有多个这样的序列。我是用Python做的。你知道吗
例如,如果这个文档像“some blah blah blah,id为X12354,id为1234Z,id为12P555。都50岁了。”
因此,预期输出应为:
X12354型
1234Z型
第12P555页
摘要:字母和数字必须出现在序列或长度无关紧要的字符串中。此字符串可以在文档中出现多次。它可以在任何地方。
我试过几种方法来整理正则表达式,但每次都会让人困惑。提前谢谢。你知道吗
Tags:
您可以在单词边界之间进行匹配,并使用正向前瞻来断言和大写字符以及数字:
^{}
符合以下条件:
\b
词边界(?=
肯定的向前看,断言正确的东西[A-Z0-9]
*匹配零次或多次大写字符[A-Z]
匹配大写字符)
关闭正向展望(?=
肯定的向前看,断言正确的东西[A-Z0-9]*
匹配零次或多次大写字符[0-9]
匹配一个数字)
关闭正向展望[A-Z0-9]+
匹配一个或多个大写字符或数字\b
词边界因此,在Python中,这将是:
给予:
它检测每个小字符串块中是否至少存在一个字母和数字。你知道吗
re.split("[ " + punctuation + "]", s)
使用所有标点和空格进行拆分。你知道吗使用
re.findall
获取所有匹配项。使用两个lookahead,一个用于验证匹配是否包含数字,另一个用于验证匹配是否包含字母。你知道吗你可以在线试用regex here。你知道吗
相关问题 更多 >
编程相关推荐