我正在尝试检查字符串是否从特定单词开始,并且其中是否还存在特定的子字符串。
所以可以说我是否有这样的字符串:
SCSI\DISK&VEN_MICRON&PROD_1100\4&2096297&0&000200
我需要检查此字符串是否具有4&2096297&0
,并且它也从SCSI
开始
我这样做了:(^SCSI|\\4&2096297&0)
。这几乎可以完成工作,但是即使字符串不是从SCSI
Regex101:Attempt
它可以按预期工作,但是问题在于,即使字符串不是从SCSI
开始,它也在选择子字符串。
是否可以对它添加AND条件。
答案 0 :(得分:0)
您不想与|
交替使用-如果|
的左侧或右侧匹配,则将满足正则表达式。您想检查两个条件是否都匹配。在字符串和SCSI
的开头之后,尝试重复字符,直到到达4&2096297&0
:
^SCSI.*4&2096297&0
https://regex101.com/r/xV0tHI/4
如果要捕获已经硬编码的SCSI
和4&2096297&0
,请在它们周围加上括号:
^(SCSI).*(4&2096297&0)