当前位置: 首页 > 知识库问答 >
问题:

python - 正则表达式的模式如何写?

鲜于宏义
2023-06-17

正则表达式中
我想让'IS'不匹配字符串'12ISW125-200B'
而'ISW'匹配字符串'12ISW125-200B'
请问如何写模式代码。
我之前写的代码是:

rule = re.compile(r'^' + '[0-9]{0,}' + item + r'[^A-Z.]{0,}' + r'.*$')
if rule.match(str) is not None:
    match_result = item

但实际结果是'IS'也能匹配

共有1个答案

钱飞翼
2023-06-17
^\d{0,}ISW\d.*$   //能匹配12ISW125-200B
^\d{0,}IS\d.*$    //不能匹配12ISW125-200B
 类似资料:
  • 我正在尝试使用python中的正则表达式。我构建了正则表达式,如下所示。我知道用于匹配搜索字符串的开头。我已使用包含多个的匹配模式构建框架,但我不确定将如何尝试匹配搜索字符串中的模式。 我预计会引发错误,关于无效的正则表达式,但它不会引发任何错误,也不会返回任何匹配项。 所以,我的问题是或是有效的正则表达式吗?

  • 我需要编写一个具有以下规则的正则表达式: null null 这些示例无效: > 12--11(因为它包含两个连字符) 1-2345(因为它包含5号) <>是字符出现在最后一个位置,那么在字符之前必须有一个数字not hypen。 即11-A(必须不及格)11-1A(必须及格)

  • 我是正则表达式的初学者,并尝试搜索特定的数字模式。以下数据以 XML 格式嵌入。 要求是提取数据(最里面的列表)。在这个例子中,数据从24779开始到24760。注意:每次数据可能不是从“24”开始。因此,我计划通过以下逻辑提取:如果标签名(在本例中:DUT_1_PC)具有非零的有效数据,并且有效数据的计数大于100,用逗号分隔,则提取该列表及其标签名(DUT_1_PC)。 我无法提取所需的数据。

  • 问题内容: 我需要这件事的帮助。查看以下正则表达式: 我想查找这样的词:“自制”,“ aaaa-bbb”而不是“ aaa-bbb”,而 不是 “ aaa–aa–aaa”。基本上,我想要以下内容: 单词-连字符-单词。 它适用于所有内容,但该模式会通过:“ aaa–aaa–aaa”,但不应通过。哪种正则表达式适用于此模式? 问题答案: 可以从表达式中删除反斜杠: 下面的代码应该工作 请注意,您可以使

  • 我使用的是javax.validation.constraints。模式注释以验证来自屏幕的数据是否符合我的要求? 我的代码如下: 数据应按照以下样本数据进行验证。 正确的测试用例(以下是可接受的值): 测试 但是使用的正则表达式不接受以下数据。 132456 我用错正则表达式了吗?