san1156 发表于 2014-10-11 15:29

求正则表达式,大牛请入~

规则不是很麻烦,但是调试半天,没搞定,请大牛给出指点:

规则:以“QX”开头,内容中不包含“物理”、“化学”、“生物”三个词语

结果:输入字符串,确认是否匹配成功

例如:

QX123物理abc --- 匹配失败
QX生物----------- 匹配失败
QX数学----------- 匹配成功

尝试的办法是:(不行)

^(?i)QX.*[(物理)|(化学)|(生物)].*

多谢O(∩_∩)O~

ssfjhh 发表于 2014-10-13 10:17

s = """QX123物理abc --- 匹配失败
QX生物----------- 匹配失败
QX数学----------- 匹配成功"""

notinlst = ["物理", "化学", "生物"]

for line in s.splitlines():
    if line.startswith('QX') and all(i not in line for i in notinlst):
      print(line)
      
QX数学----------- 匹配成功用什么正则呀。
页: [1]
查看完整版本: 求正则表达式,大牛请入~