我有很多句子,我需要有一个正则表达式,用于解释“第五布局”和“balaji布局”。简单地把它作为一个单词,然后是数字单词和布局的布局和组合。“text2是一个字符串” 下面的代码根据需要为我提供了正则表达式“balaji布局”。
import re
p = re.compile('\w+\slayout')
q = re.search(p,text2)
q.group()
为了说明数字,我添加了一个OR,但这只是给了我“i layout”(对于balaji)
import re
p = re.compile('(\w+|\d\w+)\slayout')
q = re.search(p,text2)
q.group()
如何通过适当的提取来解释两者?
答案 0 :(得分:2)
您当前的正则表达式(\w|\d\w+)
表示one letter or (one digit and more than one letter)
您需要以下内容:
\d?\w+\slayout
含义0 or 1 digit, then 1 or more letters
答案 1 :(得分:1)
尝试使用:
re.compile('(\d[a-zA-Z_]+|[a-zA-Z_]+)\slayout')
答案 2 :(得分:1)
您可以使用最简洁的模式来完全您想要的是:
re.compile(r'[a-z0-9]+\slayout', re.I) # re.I means to ignore the case.