我尝试使用正则表达式来解决我的任务。
假设:
逗号分隔的代码:
" 1004, 1001 , 11004, 1002, 1003, 1004 , 1005,ABC100,10041,ABC102, 1004 "
要检查的代码。例如:
"1004"
目标:
需要确保给定代码包含在源字符串中。
我准备了一个丑陋的模式,但它确实有效:
(?:,|^)[ ]*1004[ ]*(?=,)|(?<=,)[ ]*1004[ ]*(?:,|$)|^[ ]*1004[ ]*$
https://regex101.com/r/4IEi42/1
是否可以在模式中使用代码一次简化它? 谢谢!
答案 0 :(得分:4)
如果搜索结果既不是前面也不是非,
或negated classes的字符,则可以使用lookarounds和否定white-space进行检查。
(?<![^\s,])1004(?![^\s,])