用于确定字母数字代码是否在范围内的正则表达式

Regex for determining if Alphanumeric code is in range

本文关键字:是否 范围内 正则表达式 代码 数字 用于      更新时间:2023-09-26

我正在开发一个ICD10诊断代码应用程序。我需要确定一个ICD10代码是否落在某个范围内。例如:

代码: 4 a1h7ez

范围: 4A1H7CZ - 4A1H7HZ

这应该返回'True'。

我已经尝试将alpha字符转换为数字(a=0, b=1等),但所产生的数字与其他范围/代码冲突。

正则表达式不是我的强项,任何建议都将是感激的。

必须使用正则表达式吗?如这里所示,为了排序目的,按字母顺序比较两个字符串Javascript自动比较字符串。

那么"4A1H7EZ" > "4A1H7CZ" && "4A1H7EZ" < "4A1H7HZ"将返回true

David给出了正确的答案。

然而,"ICD10诊断代码应用程序"可能应该使用数据库;考虑到这一点,你应该用SQL来解决这个问题,在这种情况下,它将是微不足道的。

这样的查询将返回与给定代码匹配的任何范围:

select * from ranges where diag_code between range_start and range_end

您应该使用循环并逐个比较每个索引。像这样:

for entry, index in code:
  if entry.isNumeric:
      if range[index] < entry and rang2[index] > entry:
         return false
  else
      if compareAlpha(range[index], entry) > 1 and compareAlpha(range2[index], entry ) < 0:
         return false
return true

(未测试)